मेरे पास एक आईओएस ऐप है जो डेटाबेस में और जेनरेट किए गए एचटीएमएल दस्तावेज़ों में फ़ाइलों का पूर्ण पथ संग्रहीत करता है। मैंने हाल ही में अपने आईफोन को आईओएस 8 में अपडेट किया है और अब जब भी मैं ऐप चलाता हूं ऐसा लगता है कि ऐप प्रत्येक पुन: संकलित एक अलग निर्देशिका में स्थापित है। उदाहरण के लिए पहले निर्माण/रन [[एनएसबंडल मेनबंडल] बंडलपैथ] अगले निर्माण/रन पर कुछ अलग करता है। क्या हो रहा है? क्या यह ऐप्पल की एक नई सुविधा है?आईओएस 8: बंडल पथ बदलता है
अद्यतन: बग रिपोर्ट
बनाया गया था कोड उदाहरण:
अगर मैं कई निर्माण से अधिक निम्न पंक्ति को चलाने/रन तो मैं एक अलग परिणाम हर बार मिल जाएगा।
#define kOLD_PATH @"oldPath"
NSString* newPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
NSString* oldPath = [[NSUserDefaults standardUserDefaults] objectForKey:kOLD_PATH];
NSLog(@"New Path: %@", newPath);
NSLog(@"Old Path: %@", oldPath);
NSLog(@"Result: %@", [oldPath isEqualToString:newPath] ? @"Same" : @"Changed");
[[NSUserDefaults standardUserDefaults] setObject:newPath forKey:kOLD_PATH];
[[NSUserDefaults standardUserDefaults] synchronize];
उत्पादन कई पर इस चलाता है की तरह
New Path: /var/mobile/Containers/Data/Application/4FFCE2CB-580D-409A-90CB-EF2B8A1FB653/Library
Old Path: /var/mobile/Containers/Data/Application/B038B2DA-F85D-4E18-A5F1-8635834EC454/Library
Result: Changed
पूर्ण प्रकटीकरण दिखता है: मेरे एप्लिकेशन में उपयोगकर्ता को कोई वेब पेज (ePub) संसाधनों है कि आयात करता है। संसाधन वेब पेज के साथ संग्रहीत हैं। वेब पेज उन संसाधनों तक भी पहुंचता है जो ऐप बंडल का हिस्सा हैं। जब मैं वेब पेज लोड करता हूं तो इसे प्राप्त करने के लिए बेस यूआरएल निर्देशिका में सेट होता है, जिसमें वेब पेज होता है और बंडल संसाधनों को पूर्ण फ़ाइल पथों के माध्यम से एक्सेस किया जाता है। अब वह फ़ाइल पथ हर अद्यतन पर बदल जाता है जो टूटा हुआ है। मैंने बंडल संसाधनों के प्रतीकात्मक लिंक बनाने की कोशिश की लेकिन यह बाद के अपडेटों में भी असफल रहा।
यहां तक कि जब भी मैं दौड़ता हूं, यह मुझे अलग-अलग पथ देता है: \ –