Изменение файла ресурсов в новой версии приложения - PullRequest
0 голосов
/ 11 мая 2010

Я работаю над обновлением для уже существующего приложения для iphone. Существующая версия содержит файл базы данных .sql, который используется в приложении.

Я бы хотел использовать новую версию этого файла в обновлении приложения. При первом запуске существующего приложения файл .sql помещается в каталог кэшей пользователей iphone. Из того, что я могу понять из документации Apple, файлы в каталоге кэшей могут копироваться из старого приложения в каталог кэшей новых версий, когда пользователь обновляет приложение. Означает ли это, что для уверенности в том, что мой новый файл используется в обновленной версии, я должен использовать другое имя файла?

А что происходит со старым файлом? Нужно ли вручную удалять его из приложения? Что означает, что я должен проверять, есть ли он при каждом запуске приложения?

Спасибо Michael

1 Ответ

0 голосов
/ 11 мая 2010

Да, вы можете использовать другое имя, или вы можете использовать то же имя и выполнить «обновление» (удаление и замена) при первом использовании пользователем новой версии.

Это подразумевает проверку при каждом запуске приложения, но в любом случае это неплохая идея. Наличие некоторого кода, который проверяет версионность при запуске приложения, позволяет вам размещать любые обновления данных в одном месте.

Одним из методов является использование NSUserDefaults для хранения двух частей информации: первоначально установленной версии приложения и самой последней версии приложения. Вы проверяете это при запуске. Если их там нет, напиши оба. Если последняя версия ниже текущей версии приложения, запустите обновления и увеличьте версию. Вы можете использовать первый флаг, чтобы условно знать в других местах, стоит ли ожидать определенных данных или нет. Хранение версий в явном виде позволяет вам также узнать, с какой версии вы обновляетесь, что может быть неочевидно, если пользователь не загрузил, скажем, 5 промежуточных обновлений.

...