2012-06-30 10 views
5

मैं एक आईफोन ऐप विकसित कर रहा हूं जो एक सर्वर से UTF8Encoded फ़ाइल डाउनलोड करता है, इसे ऐप के कैश फ़ोल्डर में संग्रहीत करता है और बस इसकी सामग्री को NSString* var पर कॉपी करता है । यह सिम्युलेटर पर डिवाइस पर काम करता है, लेकिन नहीं, यहाँ कोड:आईफोन सिम्युलेटर क्रैश पर स्थानीय फ़ाइल पढ़ना, लेकिन वास्तविक डिवाइस पर नहीं

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

निश्चित रूप से, मैंने इसे मैन्युअल रूप से कैश डीआईआर में टर्मिनल में और प्रोग्राम्सेटिक रूप से NsFileManager विधि के साथ जांचने के लिए जांच की है कि यह मौजूद है या नहीं। समाशोधन कैश और फ़ाइल को फिर से अपलोड करने से मदद नहीं मिली। डिवाइस पर यह बेकार ढंग से काम करता है, लेकिन मुझे अपने ऐप को अपने व्यक्तिगत डिवाइस से परीक्षण करना पसंद नहीं है :( – user1493309

उत्तर

0

क्या आपने फ़ाइल की सामग्री को NSData में लोड करने का प्रयास किया है और फिर इसके साथ NSString बनाएं?

NSData dataWithContentsOfFile: 

और NSString

- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding; 
संबंधित मुद्दे