我在这里遇到了一个奇怪的问题。我将一些用户信息保存在一个名为“userstatus.plist”的文件中,该文件保存在我的应用程序的 /Library/MyAppData/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;
}
每当我在调试版本中测试我的应用程序时,我只会在第一次构建时收到一次“正在创建新用户状态”消息。在随后的构建中,我收到“从文件中读取用户状态”消息。
但是,当我切换到发布版本时,我会不断收到我所做的每个版本的“正在创建新用户状态”消息,基本上清除了我存储的所有用户数据。
任何帮助将不胜感激,因为我无能为力......谢谢!:)
编辑:我在模拟器上运行了发布版本,这样我就可以在我的 finder 窗口上查看该位置 (/Library/MyAppData/) 的情况。原来 plist 文件从未创建过,这很奇怪。我确实有其他文件可以毫无问题地创建。只有 plist 文件不会被创建。希望这应该有助于获得解决方案?