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
bạn có chắc các tập tin tồn tại? –
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