मुझे प्रतिनिधि विधि पर NSURLSession के साथ एक अजीब समस्या है FinishDownloadingToURL।NSURLSession didFinishDownloadingToURL अस्थायी डाउनलोड फ़ाइल नहीं मिली
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask
didFinishDownloadingToURL:(NSURL *)location
{
if (![[NSFileManager defaultManager] fileExistsAtPath: [location path]])
{
NSLog(@"Error. File not found");
return; // is giving error when the app is wake up by the system
}
...
}
यह सामान्य रूप से काम करता है जब एप्लिकेशन को अग्रभूमि और डाउनलोड समाप्त होने के में है:
पहली बात मैं कर रहा हूँ की जाँच करता है, तो अस्थायी डाउनलोड की गई फ़ाइल मौजूद है। लेकिन जब ऐप पृष्ठभूमि में होता है और ऑपरेटिंग सिस्टम द्वारा मजबूर रूप से मारा जाता है, तो यह झूठा होता है।
क्या किसी के पास क्या हो रहा है इसके बारे में कोई जानकारी है? मुझे पता है कि इस प्रतिनिधि विधि के निष्पादन के लिए समय सीमा है जब ऐप ऑपरेटिंग सिस्टम द्वारा जागृत हो जाता है, इसके द्वारा अस्थायी फ़ाइल के लिए कोई अर्थ नहीं होता है। मैं इसे किसी अन्य स्थान पर भी कॉपी नहीं कर सकता ... क्या यह फ़ाइल के आकार की वजह से समझ में आता है? मैं + -130 एमबी की फाइल डाउनलोड कर रहा हूं।
धन्यवाद।
मुझे एक ही समस्या है। एक बग्रेपोर्ट दायर किया गया http://openradar.appspot.com/radar?id=4943165404479488 – Biga
वैसे भी यूआरएल खोलने का प्रयास करें। ऐप सैंडबॉक्स से संबंधित कुछ quirk की वजह से fileExistsAtPath कॉल आपको झूठ बोल सकता है। – dgatwood
समान समस्या है। स्थान उस फ़ाइल को इंगित कर रहा है जो मौजूद नहीं है। यह अक्सर नहीं होता है। थोड़ा परेशान मैं सोच रहा हूं कि क्या यह बग खराब बैटरी जीवन का कारण बन रहा है, क्योंकि वह फ़ाइल दोबारा डाउनलोड की जाएगी। और यदि स्थान फिर से गलत है, फिर से डाउनलोड करने से ... आदि। –