我已经在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