5
UTF8Encoded
ファイルをサーバーからダウンロードしてアプリケーションのキャッシュフォルダに保存し、内容をNSString* var
にコピーするiphoneアプリケーションを開発しています。それはここでは、デバイス上ではなく、シミュレータ上で動作するコード:シミュレータ上iPhoneシミュレータのローカルファイルを読み込むと実際のデバイスでクラッシュする
NSLog(@"File loaded into path: %@\n", localPath);
NSError* error;
NSString* tmpString = [NSString stringWithContentsOfFile:localPath encoding:NSUTF8StringEncoding error:&error];
NSLog(@"Error: %@", error);
//Prints the length in the console to check if the file has been correctly copied in the string
NSLog(@"tmpString length:%u", [tmpString length]);
コードプリントのこの部分:
File loaded into path: /Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/4FCF8FC6-4F1B-4FE5-92F6-A99EC8888E47/Library/Caches/utf8encodedFile.txt
しかし、それは表示され、「stringWithContentsOfFile:
」メソッドを呼び出すときにクラッシュしますすべてがうまく動作し、実際のデバイス上のエラー
いいえ、それは印刷しません:
File loaded into path: /var/mobile/Applications/1EE8AEEB-D036-4ADE-AE12-836BA1F16BCB/Library/Caches/utf8encodedFile.txt
2012-06-30 19:19:24.743 appName[685:707]
Error: (null)
2012-06-30 19:19:24.745 appName[685:707] tmpString length:1423
あなたは、ファイルが存在してよろしいですか? –
確かに、ターミナルのCacheディレクトリに手動で移動し、NsFileManagerメソッドをプログラムで実行して、存在するかどうかを確認しました。キャッシュをクリアしてファイルをもう一度アップロードしても役に立たなかった。デバイス上では完璧に動作しますが、私のパーソナルデバイスで私のアプリをテストするのは嫌いです: – user1493309