Build & Run: plist не обновляется - PullRequest
5 голосов
/ 16 мая 2011

В моем пакете ресурсов есть список, который я копирую по ссылке на папку.По некоторым причинам мой отредактированный & сохраненный (в XCode) список не копируется / обновляется, пока я не удалю приложение.В противном случае старый plist (до редактирования) копируется, даже если я удаляю приложение.Остались ли данные?

Перечень редактируется довольно часто, поэтому отладка таким образом отнимает много времени.Как я могу убедиться, что список скопирован правильно?

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Вы копируете файл plist в папку Documents? если вы копируете это, то вы должны удалять приложение из симулятора iPhone при каждом запуске приложения.

Вы также можете сделать одну вещь ... вы можете копировать файл в папку с документами при каждом запуске приложения. Потому что содержимое папки документа может быть удалено только путем удаления приложения из симулятора / устройства.

Тогда нет необходимости перезапускать симулятор / устройство и xcode.

0 голосов
/ 07 ноября 2014

Это краткий ответ;но эй, ОП не пометил правильный ответ, так что вот мое решение.Я создал два списка свойств.Первый - это отладочная информация, такая как постоянные числа, строки и логические значения.Я назвал этот список свойств SETTINGS.plist.Другой мой список, который я использую для сохранения игровых данных.Так как список параметров SETTINGS является списком, который я обновляю через интерфейс xcode, я обновляю его каждый раз, когда запускаю приложение.

-(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, а saveDate имеет тип NSMutableDictionary,Надеюсь, это поможет.

...