NSFileHandle FileHandleForWritingAtPathは有効なパスを持つnilを返します
-
21-12-2019 - |
質問
この問題についていくつかのことを見つけましたが、これには何も働いていません。
次のコードを使用してファイルの末尾に書き込もうとしています。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Filename" ofType:@"txt"];
NSString *textToWrite = @"Test";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
.
コードFilePathをステップ実行すると、 "/var/mobile/applications / 1669D96A-1aba-4a4f-d083-a90eb728691b / myapp.app/filename.txt"に設定されます。
しかし、NSFileHandle FileHandleForWritingAtPathはNILを返します。このコードは例外/警告を発生させず、かつて問題を維持します。ファイルを文字列に読み込むと、新しいテキストはそこにありません。最初はファイル内のものだけが(Xcodeで入力)。私はファイルを読むためのパスを取得するために正確なコードを使い、そしてそれが機能します!
解決
アプリバンドルは読み取り専用です。バンドル内のすべてのパスに書き込むことはできません。それがあなたがnil
ファイルのハンドルを取得する理由です。
所属していません StackOverflow