Как проверить постоянство данных моего приложения во время разработки? - PullRequest
3 голосов
/ 21 октября 2010

Мой вопрос связан со следующими тремя вопросами.

  1. iPhone Что происходит с предыдущими данными при обновлении приложения до новой версии

  2. Как работает обновление приложения в iPhone

  3. Предотвращение удаления пользовательских данных при обновлении приложения iOS через iTunes

Вот мои 2 вопроса.

  1. Должен ли я создавать каталог «Documents» вручную в файловой системе или просто создавать «группу» в xcode, чтобы при обновлении приложения данные оставались постоянными?

  2. Как я могу проверить устойчивость приложения во время разработки приложения на симуляторе или на iPhone?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 21 октября 2010
  1. Ни. Каталог документов создается для вас, когда ваше приложение установлено. Вы можете получить путь к нему, используя:

    NSString *docuDir = nil;
    NSArray *list = NSSearchPathForDirectoriesInDomains(
            NSDocumentsDirectory, NSUserDomainMask, YES/*expand tilde*/);
    if ([list count]) docuDir = [list objectAtIndex:0U];
    
  2. Как сказал @Ben, каталог удаляется только при явном удалении приложения (удаление его из Springboard). Когда вы создаете и запускаете, XCode эффективно выполняет обновление вашего приложения на месте. Если все в порядке, то (и нет причин, по которым это не так), все будет в порядке.

1 голос
/ 22 октября 2010

Другой способ подойти к этому - взглянуть на папку «Документы».Если вы запускаете приложение в симуляторе, то в папке «Документы» вашего приложения будет путь, подобный следующему:

/ Users / itsaboutcode / Библиотека / Поддержка приложений / iPhone Simulator / 4.1 / Applications / SOME_LONG_HEX_KEY_THAT_MAPS_TO_YOUR_APP/

Если вы тестируете на iDevice, используйте вкладку Summary окна Organizer Xcode.Внизу есть раздел под названием Приложения.Ваше приложение будет в верхней части этого списка, и у него будет треугольник переключения, который вы нажмете.Это откроет «Данные приложения», которые можно загрузить, нажав на стрелку, направленную вниз вправо.

Преимущество симулятора iPhone заключается в том, что папка «Документы» и ее содержимое могут быть изменены по желанию.Данные приложения на iDevice доступны только для чтения (за исключением, конечно, вашего приложения во время выполнения).

1 голос
/ 21 октября 2010

При обновлении приложения папка «Документы» остается нетронутой. Вы можете скопировать файлы в каталог Documents при первом запуске приложения, например, в файл sqlite, очевидно, только если он еще не существует. Если вы используете CoreData, он автоматически сохранит ваши данные там. Вам нужно будет иметь возможность запускать сценарии миграции, если ваша схема данных изменяется при обновлении, так что имейте это в виду. CoreData имеет функции миграции, чтобы позаботиться об этом за вас, и, конечно, вы можете сделать это и вручную.

Когда вы запускаете приложение в симуляторе, оно также оставляет каталог Documents нетронутым, поэтому вы должны удалить приложение из симулятора, чтобы имитировать новую установку. Обновление моделируется простым запуском кода, поскольку папка «Документы» была создана при первом запуске «новой установки».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...