ここで明らかな何かが欠けているに違いありませんが、答えが見つからないようです。基本的に、アプリのドキュメント ディレクトリにファイルを書き込むコードがありました。そのコードは次のようになります
- (NSString *)applicationDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;
}
// 別のメソッドでの実際の書き込みコード
NSString *manifestPath = @"manifest.txt";
[manifestData writeToFile:manifestPath options:NSDataWritingAtomic error:&error];
したがって、これは正常に機能します。ここで、ドキュメント ディレクトリ内に新しいフォルダーを作成し、そのフォルダーに書き込みたいと考えています。したがって、新しいフォルダーを作成するには、次のようにします。
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDir;
NSString *directoryPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"testDir"];
NSError *error = nil;
if (![fileManager fileExistsAtPath:directoryPath isDirectory:&isDir]) {
if (!isDir) {
[fileManager createDirectoryAtPath:directoryPath withIntermediateDirectories:NO attributes:nil error:&error];
}
}
その部分はうまく機能します。
機能しない部分は、新しい manifestPath を作成してこのディレクトリに移動し、そのディレクトリに書き込む場合です。私はもう試した
NSString *manifestPath = [[[self applicationDocumentsDirectory] stringByAppendingPathComponent:directoryPath] stringByAppendingPathComponent:@"manifest.txt"]];
また
NSString *manifestPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@/manifest.txt", directoryPath];
パスやディレクトリの動作に何か欠けていますか? Cocoa エラー 4 が発生し続けます。パスを印刷すると、パスも正しいように見えます。(iOSシミュレータディレクトリ/testDir/manifest.txt)
ここで何か不足していますか?ありがとう。