私はジェイルブレイクされたデバイスで作業しており、アプリストア向けに開発していません。このコードを使用して、最初にコードでデータベースを作成します。
if(temporaryvariable == 0 ) {
if (![[NSFileManager defaultManager]fileExistsAtPath:@"/Library/Myapp/Storage"]) {
NSLog(@"Creating Direcotory Documents");
[[NSFileManager defaultManager] createDirectoryAtPath:@"/Library/Myapp/Storage" withIntermediateDirectories:YES attributes:nil error:nil];
}
storeURL = [NSURL fileURLWithPath:@"/Library/Myapp/Storage/my.sqlite" isDirectory:NO];
} else {
storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"my.sqlite"];
}
db パスを root/var/mobile/documents に変更すると、コードは正常に動作します。しかし、上記のコードで指定されたパスを使用すると、アプリは次のエラーでクラッシュします。
未解決のエラー エラー Domain=NSCocoaErrorDomain Code=256 "The operation could not be completed. (Cocoa error 256.)" UserInfo=0x334a30 {NSUnderlyingException=authorization denied, NSSQLiteErrorDomain=23} ,,, { NSSQLiteErrorDomain = 23; NSUnderlyingException = "承認が拒否されました"; file://localhost/Library/Myapp/Storage/my.sqlite 中止トラップ: 6
ストレージフォルダのパーミッションを変更しようとしましたが、うまくいきません。このエラーで私を助けてください 編集: このフォルダは、実際にはジェイルブレイクされた iPhone 上のアプリケーションのメイン バンドルです。