我正在为我的应用程序完成符号功能,但不能解决一个问题:因为我正在使用一些新的5.0功能,比如NSFileCoordinator,我不能为4.3构建我的应用程序,因为"dyld: Symbol not iCloud:_OBJC_CLASS_$_NSFileCoordinator“。我如何“取消目标”一些文件(有iCloud方法)来构建4.3版本?提前感谢!
发布于 2012-02-14 16:13:50
发布于 2012-02-14 16:12:33
将它们从源复制中删除:
或者,您可以将其从项目中删除(只需删除引用而不是删除文件),它也会将其从本节中删除。
或者,您可以创建预处理器宏来检查用户是否可以运行函数
// System Versioning Preprocessor Macros
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
/* Usage
if (SYSTEM_VERSION_LESS_THAN(@"4.0")) {
...
}
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"3.1.1")) {
...
}*/这样,您就可以检查用户正在使用的系统版本,并且只为5.0构建,但如果它是低于5.0的版本,则输入功能代码。
发布于 2012-02-14 16:11:39
我认为在4.3版本中完全关闭iCloud特性会更好。您可以通过在运行时检查iOS版本来做到这一点。在你的特殊情况下,你可以用NSClassFromString()函数检查NSFileCoordinator类的存在,但我很确定在互联网上有更好的方法来完成这一点。
https://stackoverflow.com/questions/9273364
复制相似问题