Uygulamada, verilerin çoğunu devam ettirmek için Çekirdek Verileri kullanan bir uygulamam var. İstisna, görüntüleri saklamaktır. Alt dizinlerdeki görüntüleri Belgeler dizinine depolarım ve çekirdek veri deposundaki ilgili nesne özniteliğinde bu görüntüye bir NSURL başvurusu depolarım.Uygulama Güncellemeleri, NSURL ve Belgeler Dizini
Bir güncelleştirme uygulama mağazasına geldiğinde, bu resimlerin, uygulamanın önceki sürümünde depolanmış olan referanslar kullanılarak bulunmadığını ve bu nedenle görüntülenmediğini fark ettik. Şimdi, sorun şu ki, test için geliştirme aygıtlarını kullandığımız için, bu uygulama, dev uygulamanın kullandığı Uygulamalar dizinindeki Dizin, App Store'un oluşturduğu/kullandığı uygulamadan farklı olduğu için yayılıyor. Uygulamalarda uygulama için App store dizini ile Xcode'taki hata ayıklama işlemleri sırasında oluşturulanlar arasındaki farkları fark ettim. Bu nedenle, çekirdek verilerinde saklanan URL yanlış uygulamalar klasörüne işaret eder. Bu, yeni bir sürüm mağazada yayımlandıktan sonra, eski bir uygulama sürümünü indiremediğimden hata ayıklamak biraz zor.
Birkaç sorum var. Aynı uygulamanın sürümlerini indiren kullanıcıların aynı olamayacağı Uygulamalar alt dizininin, geliştirilmeyen cihazlar için sorun oluşturmayacağını garanti edebilir miyim?
Bu kaynakların konumunu göstermek için göreli resim URL'lerini veya dizgilerini depolamalı mıyım, yoksa mutlak URL'ler olan şeyleri saklamakla iyi olmalı mıyım? Sen dosyalarına başvuru depolamak için göreli URL'ler kullanmalıdır
NSString *appDocumentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
Çok teşekkür ederim! Bu benim bilmem gereken şeydi! – flizit
iTunes güncellemeleri yüklediğinde yeni bir uygulama dizininin yaratıldığını bilmiyordum: geçersiz kılınmış mutlak yollar kullanarak sembolik bağlara sahip oldum. Bu davranış iOS geliştiriciler dikkat! :) –
Bu bağlantı bozuk. Deneyin: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTips/PerformanceTips.html –