2011-05-16 21 views
5

Kaynak başvurusunda klasör referansıyla kopyaladığım bir plist var. Bazı nedenlerden dolayı, uygulamayı silene kadar (Xcode) plc'de kaydedilmiş & dosyamın kopyalanmaması/güncellenmemesi. Aksi takdirde, uygulamayı silmeme rağmen eski plist (düzenlemeden önce) kopyalanır. Veri kalıyor mu?Yapılandırma ve Çalıştırma: plist güncellenmiyor

Sıklıkla yapılanma çok sık yapılır, bu nedenle hata ayıklama bu şekilde çok zaman alıcıdır. Plistin düzgün şekilde kopyalandığından nasıl emin olabilirim?

+0

kaldırma ve yeniden yükleme, hata ayıklama ortamında sorunumu çözdü ... teşekkürler –

cevap

1

Plist dosyasını Documents klasörüne kopyalıyor musunuz? Bunu kopyalıyorsanız, uygulamayı her başlattığınızda uygulamayı iPhone simülatöründen silmeniz gerekir.

Ayrıca bir şey de yapabilirsiniz .. uygulamayı her başlattığınızda dosyayı belgeler klasörüne kopyalayabilirsiniz. Belge klasörünün içeriği yalnızca uygulamayı simülatör/cihazdan silerek silinebilir. Simülatör/cihaz ve xcode yeniden başlatmaya gerek yoktur.

+0

Bu belge, Kaynaklar bölümünde değil, kaynak paketinde kopyalanır. Bu yüzden, uygulama silindiğinde kaynak verilerinin silinmesini beklerdim, ancak uygulamayı tek başına silmek bunu yapmaz. – Morrowless

+0

Kaynaktaki veriler silinemez, manuel olarak silmeniz gerekir. BTW: Dosyayı Dökümanlara kopyalamıyorsanız, dosyayı düzenleyemezsiniz. – Saurabh

+0

Düzenlemenin, çalışma zamanı değil, Xcode'da yapıldığını açıkça belirtmeliyim. – Morrowless

0

Bu lapa bir cevaptır; ama hey, OP doğru bir cevap vermedi, işte benim çözümüm. İki emlak listesi oluşturdum. Birincisi, sabit sayılar, dizgiler ve boole'ler gibi hata ayıklama bilgileridir. Bu emlak listesini SETTINGS.plist numaralı telefondan aradım. Diğer plistim oyun verilerini kaydetmek için kullandığım. SETTINGS plist, xcode arabiriminde güncellediğim dosya olduğundan, uygulamayı her çalıştırdığımda güncelliyorum. İşte

-(void)setUpPlist{ 

listPath = [[self docsDir] stringByAppendingPathComponent:@"SETTINGS.plist"]; 

if (![[NSFileManager defaultManager] fileExistsAtPath:listPath]) { 
    [[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] pathForResource:@"SETTINGS" ofType:@"plist"] toPath:listPath error:nil]; 

} 
else { 
    [[NSFileManager defaultManager] removeItemAtPath:listPath error:nil]; 
    [[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] pathForResource:@"SETTINGS" ofType:@"plist"] toPath:listPath error:nil]; 
} 

savedData = [NSMutableDictionary dictionaryWithContentsOfFile:listPath]; 
} 

-(NSString *)docsDir{ 
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
} 

, listPath NSString tiptedir ve savedDate NSMutableDictionary tiptedir. Bu yardımcı olur umarım.