Я готов к выпуску нового обновления для своего приложения, которое хранит данные в локальном пути пакета, и я хочу, чтобы данные, хранящиеся в этом пути, не удалялись при их обновлении. Может ли это случиться, и о чем я должен следить?При выпуске обновления приложения могут ли мои данные в пучке пакетов меняться или удаляться?
Это код, я использую, чтобы получить путь хранения данных:
// Temporary method variables
NSError *error;
// Create a list of paths
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// Get the path to the apps documents directory from the array
NSString *documentsDirectory = [paths objectAtIndex:0];
// Create a full path to the file
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"FFUserPrefs.plist"];
// Access the file manager
NSFileManager *fileManager = [NSFileManager defaultManager];
// Check if the file exists and if not, copy from the bundle path to the documents path
if (![fileManager fileExistsAtPath:path])
{
// Get path to file from bundle directory
NSString *pathBundle = [[NSBundle mainBundle] pathForResource:@"FFUserPrefs" ofType:@"plist"];
// Copy pref file to app documents folder
[fileManager copyItemAtPath:pathBundle toPath:path error:&error];
}
Я просто боюсь, что данные мои пользователи хранятся в этой директории может быть потеряны, и хочу, чтобы убедиться, он по-прежнему находится после обновления. Единственная причина, по которой я спрашиваю, заключается в том, что после запуска моей новой сборки через xCode на моем телефоне, на которой было установлено приложение для выпуска, оно уничтожило данные и начало работать. Что мне не хватает? Изменяется ли путь пакета приложения между Xcode и release. Любая информация будет принята с благодарностью!
Данг, это то, чего я боялся ... тьфу! Любое предложение о том, как я могу сохранить свои данные в /var/mobile/Applications/1111111A-111C-111E-111E-E1111111111/AppName.app/FFUserPrefs.plist, прежде чем он будет заменен и перенесет его в/Documents? – XBXSlagHeap
Разве это не то, что вы делаете с 'copyItemAtPath'? Вы перемещаете файл PLIST из пакета приложений в каталог документов. Затем все данные будут записаны в файл PLIST в каталоге документов. Таким образом, файл в каталоге документов, который содержит все пользовательские данные, будет безопасным, а пустой шаблон в комплекте будет заменен. –
Ты рок! Я просто волнуюсь и даже не читаю собственный код! Один последний вопрос, если вы знаете ... почему я могу потерять данные из моего приложения для выпуска при нажатии новой версии из Xcode? Он вытирает все. – XBXSlagHeap