2012-06-30 35 views
5

Tôi đang phát triển một ứng dụng iPhone tải xuống tệp UTF8Encoded từ máy chủ, lưu trữ tệp đó trong thư mục Cache của ứng dụng và chỉ cần sao chép nội dung của nó vào NSString* var . Nó hoạt động trên thiết bị nhưng không phải trên giả lập, đây mã:đọc Tệp cục bộ trên các sự cố mô phỏng iPhone, nhưng không phải trên thiết bị thực

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]); 

Trên mô phỏng phần này của bản in mã:

File loaded into path: /Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/4FCF8FC6-4F1B-4FE5-92F6-A99EC8888E47/Library/Caches/utf8encodedFile.txt 

Nhưng nó bị treo khi nó gọi phương thức "stringWithContentsOfFile:", hiển thị không có lỗi

Trên thiết bị thực tất cả mọi thứ hoạt động tốt, nó in:

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

bạn có chắc các tập tin tồn tại? –

+0

Chắc chắn, tôi đã kiểm tra nó cả bằng tay vào thư mục Cache trong terminal và lập trình với phương thức NsFileManager để kiểm tra xem nó có tồn tại hay không. Xóa bộ nhớ cache và tải lên lại tệp không giúp ích gì. Trên thiết bị, nó hoạt động hoàn hảo, nhưng tôi không thích thử nghiệm ứng dụng của mình bằng thiết bị cá nhân của mình :( – user1493309

Trả lời

0

Bạn đã thử tải nội dung của tập tin vào một NSData và sau đó tạo ra một NSString với nó?

NSData dataWithContentsOfFile: 

NSString

- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding; 
Các vấn đề liên quan