Object-C使用ICE
2. 安裝IceTouch-1.2.1-Xcode-4.3.dmg,安裝完成後,會在/Developer/SDKs/IceTouch-1.2.0下面生成相應的文件。
3. 配置Xcode:http://doc.zeroc.com/display/Ice/Xcode+Plug-in#XcodePlug-in-AddingSliceFilestoanXcodeProject
配置Xcode有兩種方式:
一種是使用ICE官方的SDK,
這種方式的好處是:
1. 不需要手動去處理.ice文件,只需要把.ice文件拖動到工程中,ICE的SDK的會自動處理.ice文件以生成該.ice文件對應的.h和.m文件。
2. 不需要手動配置使用ice的頭文件路徑和庫文件路徑,這些東西ICE的SDK都已經配置好了。
這種方式的不足:
使用這種方式,代碼不能打包成靜態庫讓別的工程調用,因爲官方提供的SDK現在還不支持這種方式。
另一種是不使用官方的SDK,
這種方式的好處是:
1. 使用ICE的的代碼可以編譯成靜態庫供別的工程使用。
這種方式的不足是:
1. 需要手動去配置使用ICE需要的頭文件路徑、庫文件路徑以及在Other Link flag中指定鏈接標誌。
2. 需要手動處理ice文件,並需要把處理ice文件後生成的.h和.m文件添加到工程中。
關於手動處理ice文件請參考4。
下面分別進行說明:
3.1 使用ICE官方的SDK:
1. 設置Xcode的Build Settings->Additional SDKs的值爲:$(DEVELOPER_DIR)/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk
2. 設置Xcode的Build Settings->Code Signing Resource Rules Path的值爲:$(SDKROOT)/ResourceRules.plist
3. 添加以下的框架:
CFNetwork.framework
Security.framework
Foundation.framework
ExternalAccessory.framework
3.2 不使用ICE官方的SDK
1. 設置Xcode的Build Settings->Header search Paths值爲: /Developer/SDKs/IceTouch-1.2.0/$(PLATFORM_NAME).sdk/usr/local/include
2. 設置Xcode的Build Settings->Library search Paths值爲: /Developer/SDKs/IceTouch-1.2.0/$(PLATFORM_NAME).sdk/usr/local/lib
3. 設置Xcode的Build Settings->Other Linker Flags值爲: -ObjC、-lGlacier2ObjC、-lIceObjC
4. 處理ice文件
如果使用ICE官方的SDK配置Xcode,則不需要手動處理ice文件。 如果自己手動配置,則需要使用命令工具slice2objc處理ice文件。
安裝IceTouch-1.2.1-Xcode-4.3.dmg時,會將slice2objc安裝到目錄/Developer/SDKs/IceTouch-1.2.0/bin下。
處理ice文件方式爲:
在命令行上執行:slice2objc filename.ice
執行這個命令後,會生成filename.h和filename.m文件。