私はここで奇妙な問題に直面しています。アプリケーションの/Library/MyAppData/userstatus.plistフォルダーの場所に保存されている「userstatus.plist」というファイルにユーザー情報を保存しています。
私のアプリでは、次のコマンドを使用してファイルが存在するかどうかを確認します。
- (void)checkFile {
NSString *statusPath = [self statusPath];
if ([[NSFileManager defaultManager] fileExistsAtPath:statusPath]) {
NSLog(@"Reading user status from file");
_userStatus = [[NSMutableArray alloc] initWithContentsOfFile:statusPath];
}
else {
NSLog(@"Creating new user status");
_userStatus = [[NSMutableArray alloc] init];
}
}
- (NSString*)statusPath {
return [[self libraryPath] stringByAppendingPathComponent:@"MyAppData/userstatus.plist"];
}
- (NSString*)libraryPath {
NSString* path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
return path;
}
デバッグビルドでアプリをテストするときはいつでも、最初のビルドで「新しいユーザーステータスの作成」メッセージが1回だけ表示されます。以降のビルドでは、「ファイルからユーザーステータスを読み取っています」というメッセージが表示されます。
ただし、リリースビルドに切り替えると、ビルドを実行するたびに「新しいユーザーステータスの作成」メッセージが表示され続け、保存したユーザーデータはすべて消去されます。
私はウィットエンドにいるので、どんな助けでも大歓迎です...ありがとう!:)
編集:エミュレータでリリースビルドを実行したので、ファインダーウィンドウを監視して、その場所(/ Library / MyAppData /)で何が起こっているかを確認できました。plistファイルが作成されていないことが判明しました。これは奇妙なことです。問題なく作成される他のファイルがあります。plistファイルのみが作成されません。うまくいけば、これは解決策を得るのに役立つはずですか?