2012-06-30 50 views
5

我正在開發一個iphone應用程序,它從服務器下載UTF8Encoded文件,將其存儲在應用程序的Cache文件夾中,並將其內容簡單地複製到NSString* var 。它適用於設備,但是不能在模擬器上,這裏的代碼:在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 
+0

你確定文件是否存在? –

+0

當然,我已經手動檢查了它在終端中的Cache目錄,並用NsFileManager方法編程檢查它是否存在。清除緩存並再次上傳文件沒有幫助。在設備上它完美地工作,但我不喜歡用我的個人設備測試我的應用程序:( – user1493309

回答

0

您是否嘗試將文件內容加載到NSData中,然後使用它創建NSString

NSData dataWithContentsOfFile: 

NSString

- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding; 
相關問題