質問

この問題についていくつかのことを見つけましたが、これには何も働いていません。

次のコードを使用してファイルの末尾に書き込もうとしています。

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ファイルのハンドルを取得する理由です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top