我已經在xCode 4.3.2上使用了我的iPhone項目,並且運行良好。它使用NSUbiquitousKeyValueStore類,它的基礎SDK是iOS 5.0。 現在我要在xCode 3.2.5上構建我的項目,並且它說錯誤「未定義符號NSUbiquitousKeyValueStore」。 當然,我知道iOS 5.0支持NSUbiquitousKeyValueStore類,xCode 3.2.5不支持iOS 5.0。 因此,我想要禁用iOS 5.0以上的這些功能,並通過iOS 5.0啓用。 我該怎麼做?使用NSUbiquitousKeyValueStore生成xCode 3.2.5和xCode 4.3.2的xCode項目
回答
環繞,這使得與5.0 SDK中引入等,使得功能使用的代碼:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000
// Code using NSUbiquitousKeyValueStore goes here
#endif
注意,這是有條件的編譯。測試在構建時執行,而不是在運行時執行。因此,如果您在沒有5.0 SDK的情況下生成舊版Xcode,那麼無論您在哪裏運行它,生成的程序都將會使用從不使用NSUbiquitousKeyValueStore
。沒有可行的方法來針對較舊的SDK進行構建,但如果它們在運行時可用,仍然會使用較新SDK的功能。
修改添加:有關更多信息,請參閱Apple的SDK Compatibility Guide。
您需要弱連接包含NSUbiquitousKeyValueStore
類的框架。 然後在你的代碼做一些喜歡的東西:
if ([NSUbiquitousKeyValueStore class]) {
// Class wil return non nil uf the class exists.
NSUbiquitousKeyValueStore *NSUbiquitousKeyValueStore = [NSUbiquitousKeyValueStore new];
}
如果針對甚至沒有聲明「NSUbiquitousKeyValueStore」的SDK構建,仍然無法編譯。只有在您知道該符號的SDK進行編譯時纔會有效,但設置了一個早於該符號的部署目標。 – 2012-04-18 07:33:51
確實,您需要將iOS部署目標設置得更低。 – rckoenes 2012-04-18 07:39:20
不需要。關鍵是他正在構建一個根本不知道「NSUbiquitousKeyValueStore」的SDK。無論如何,你寫的東西都不會在這種情況下建立起來。您所概述的技術有助於實現不同的場景:當他構建一個足夠新的SDK但想要部署到較早的操作系統時。 – 2012-04-18 07:41:45
- 1. Xcode 3.2.5未能生成IPA
- 2. 擁有的objectVersion 38和Xcode如何打開的Xcode 4.3.2項目
- 3. 手動生成Xcode項目
- 4. 使用GYP爲iOS生成Xcode項目
- 5. 使用xcode項目生成類圖
- 6. 在Xcode 4.3.2
- 7. Xcode 4.3.2 ans SBJSON
- 8. 我們可以同時使用Xcode 3.2.5和Xcode 4嗎?
- 9. 視頻在Xcode 3.2.5
- 10. 安裝RVM 1.9.3和Xcode 4.3.2
- 11. .html和.htm for xcode 4.3.2(phonegap)
- 12. 的Xcode 4.3.2應用測試
- 13. Xcode 4.3.2編譯器設置崩潰xcode
- 14. 如何在項目中的Xcode 3.2.5中打開「項目設置」?
- 15. OCLint和xcode項目
- 16. 如何將統一生成的(xcode)項目添加到其他xcode項目?
- 17. 腳本生成Xcode空項目
- 18. XCode項目生成錯誤。 libsystem_kernel.dylib`__pthread_kill:
- 19. 從iOS App生成Xcode項目
- 20. 爲XCODE項目生成Apple文檔
- 21. 的Xcode 4.3.2無法啓動
- 22. Xcode 4.3.2中的聲音
- 23. 的Xcode 4.3.2錯誤信息
- 24. 錯誤而上的Xcode 4.3.2
- 25. 的Xcode更新4.3.2弄亂
- 26. 使用Xcode生成.IPA
- 27. xcode使用makefile生成
- 28. 如何使用NSZombieEnabled oninterment Xcode 3.2.5
- 29. 如何實現在Xcode 3.2.5
- 30. 創建/集成XCode項目
謝謝你的回答。這正是我想知道的。 – ttotto 2012-04-18 07:58:12