如何解决使用Xcode 4创建10.5友好的Core Data应用
| 我想创建一个支持OS X 10.5的Core Data应用程序(我正在使用Xcode 4)。但是,我注意到创建核心数据应用程序会使用10.6及更高版本中的可用功能(例如“ 0”)生成代码。另外,在Xcode 4中如何生成ManagedObjectContext,PersistentStoreCoordinator和ManagedObjectModel似乎有很多变化。 Xcode 4- (NSManagedObjectModel *)managedObjectModel {
if (__managedObjectModel) {
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@\"SampleApp\" withExtension:@\"momd\"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
XCode 3.2
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel) return managedObjectModel;
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
我当时只是想从一个新的Xcode 3.2项目中复制并粘贴此代码,但是我不确定这是否会破坏某些东西。有没有办法让Xcode 4生成将在10.5下运行的代码?
解决方法
确保将“部署目标”设置为10.5。
确保在10.5系统上进行测试。不要在未经测试的情况下部署到10.5用户,请相信它会“正常工作”。
然后,您有两种选择。
您可以在文档中查找每个API,它将声明(例如):\“在MacOSX 10.6或更高版本上可用\”。在这种情况下,您可以继续使用Xcode 4,但是它很繁琐(并且容易出错)。编译器/链接器不会警告您,因为10.5中没有可用的方法,相信您可以做出正确的决定。
使用10.5 SDK作为基本SDK。这是首选的解决方案,但需要Xcode 3.2(可在developer.apple.com上免费获得)。您不必使用新的闪亮Xcode 4,但这是支持3.5 yo OS(它于2007年10月发布)所必须付出的代价。
还有第三种选择,即在Xcode 4中安装10.5 SDK,但是官方不支持它,因此我不推荐您这样做。
如果10.5支持对您和您的用户确实很重要,那么我强烈建议您使用Xcode 3和10.5 SDK。根据我的经验,这是最不痛苦的组合。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。