在iPhone 3.1.3上使用Core Data启动应用程序时的SIGABRT

时间:2011-04-08 21:55:17

标签: iphone

我在我的iPhone应用程序上使用CoreData。当我在运行iOS 3.1.3的旧1g iPhone上测试应用程序时,我在此方法中获得了一个SIGABRT

#pragma mark - Application's Documents directory

/**
 Returns the URL to the application's Documents directory.
 */
- (NSURL *)applicationDocumentsDirectory
{
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

*** -[NSFileManager URLsForDirectory:inDomains:]: unrecognized selector sent to instance 0x106920
2011-04-08 23:49:26.311 TestApp[963:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSFileManager URLsForDirectory:inDomains:]: unrecognized selector sent to instance 0x106920'
2011-04-08 23:49:26.321 TestApp[963:207] Stack:...

我正在使用XCode 4.似乎不支持选择器,但我认为他们说CoreData应该适用于iOS> 3 .....那么为什么与它一起生成的代码不起作用......

2 个答案:

答案 0 :(得分:2)

URLForDirectory仅适用于iOS 4.0及更高版本

答案 1 :(得分:0)

因为代码是 NOT 与Core Data相关,而是与NSFileManager类上的Foundation方法有关,该方法自iOS 4.0起可用。