Скорее всего, вы все еще используете путь к документам AppStore в методах, которые создают и загружают файл базы данных CoreData (я думаю, Xcode по умолчанию поместит их в ваш AppDelegate).
Проверьте метод, который загружаетpersistentStorageCoordinator
и найдите строку, подобную этой:
NSURL *storeUrl = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"my_cool_app.sqlite"]];
И убедитесь, что docPath
является "/ var / mobile / Library / My_Cool_App" и не происходит из стандартного дружественного AppStore:
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath = [documentPaths objectAtIndex:0];
Возможно, вы захотите создать метод, который возвращает правильный каталог Documents в зависимости от того, для какой цели вы компилируете приложение:
+(NSString *)documentsDirectoryPath
{
#ifdef JAILBREAK
NSString *documentPath = @"/var/mobile/Library/My_Cool_App";
if (![[NSFileManager defaultManager] fileExistsAtPath:documentPath])
{
[[NSFileManager defaultManager] createDirectoryAtPath:documentPath
withIntermediateDirectories:NO
attributes:nil
error:NULL];
}
return documentPath;
#else
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
return [documentPaths objectAtIndex:0];
#endif
}