どこから始めればいいのかわからない。本当に頭がおかしくなってきたので、すぐに始めましょう。私のアプリには、アプリの使用中に大きくなるファイルがあります。iCloudにバックアップしたくないので、次の部分を使用してそれを防ぎます。
// load file path
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, TRUE) objectAtIndex:0];
NSURL *dbPath = [NSURL fileURLWithPath:[documentsPath stringByAppendingPathComponent:@"database.db"]];
assert([[NSFileManager defaultManager] fileExistsAtPath:[dbPath path]]);
NSError *error;
[dbPath setResourceValue:[NSNumber numberWithBool:TRUE] forKey:NSURLIsExcludedFromBackupKey error:&error];
このコードは iOS 5.1 以降でのみ機能しますが、デプロイ ターゲットのバージョンではそれが満たされています。私のアプリは、今年の 3 月からアプリ ストアにあります。
ここで奇妙なことが起こります。
数か月間アプリの作業を行っていませんでしたが、今日はシミュレーターでアプリを起動したいと考えていました。スタートが予想外だった: I got
"Thread 1: EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)"
で
CoreFoundation`CFHash:
[...]
calll 0x2dafa00 ; symbol stub for: getpid
トレース: http://image-upload.de/file/Tf660h/b341100208.png
StackTrace は、これが [dbPath setResourceValue...] 内で発生したことを示しました。ブレークポイントとして記載されていますが、マークされた行以降、アプリを実行できません。
前回アプリ ストアに提出してから何も変更していませんが、今は開始できません。シミュレーターでも私のデバイスでもありません。
[dbPath getResourceValue...] で前のフラグ値を取得しようとすると、同じことが起こります。私は何が起こっているのかを理解するために何時間も努力していますが、進歩はありません。