これは私のコードです。以前はNSDictionaryが何かに使われていましたが、問題を見つけようとすると一時的に削除されました。writeToPath:原子的に:なぜこれが失敗しているのかわからない
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Entries/"];
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDirectory = NO;
BOOL directoryExists = [fileManager fileExistsAtPath:path isDirectory:&isDirectory];
if (!directoryExists) {
[fileManager createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil];
}
if ([self.pathName isEqualToString:@""] || self.pathName == nil) {
self.pathName = [NSString stringWithFormat:@"%@.JEntry", [JMedia generateUuidString]];
}
NSString *entryPath = [path stringByAppendingPathComponent:self.pathName];
NSDictionary *dictionary;
NSLog(@"entrypath: %@", entryPath);
BOOL success = [dictionary writeToFile:entryPath atomically:YES];
NSLog(@"success: %i", success);
のNSLog:
entrypath: /var/mobile/Applications/1B838285-8326-427A-8AC5-0D5567C3CD81/Documents/Entries/70AFCF6D-540E-436E-9989-68793500E35B.JEntry
success: 0
シムのドキュメントディレクトリを調べてファイルが存在するかどうか確認しましたか? – CodaFi
'[JMedia generate UuidString]'メソッドは完全にランダムな文字列を返すので、すでに存在することはできません。 – Andrew
'dictionary'はゼロになりますので、これは決してうまくいかないでしょう。 – jrturton