Очистка симулятора iPhone



есть ли простой способ очистить каталог, в котором xcode развертывает приложение при создании для симулятора iPhone? У меня есть база данных sqlite, которая при необходимости копируется в папку документов при запуске. Проблема в том, что я могу изменить свою схему, но новая база данных не будет скопирована, потому что она уже существует.



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

630   15  

15 ответов:

симулятор устанавливает приложения в:

"$HOME/Library/Application Support/iPhone Simulator/User/Applications"

кроме того, проверить:

"$HOME/Library/Developer/CoreSimulator/Devices"

файлы и каталоги GUID соответствуют установленным приложениям симулятора.

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

Я знаю, что есть какой-то способ добавить скрипты в процесс сборки в XCode.

также похоже, что XCode изменяет GUID, который он использует для каждой сборки (каталог, в котором находится мое приложение изменения между сборками в XCode), поэтому попытка удалить один и тот же каталог все время не будет работать. Если вы работаете только над одним приложением за раз, то очистка всего каталога будет вариантом.

Из Яблок Dev Ресурсы:

чтобы установить пользовательский контент и настройки симулятора в заводское состояние и удалить установленные приложения, выберите симулятор iPhone > сброс содержимого и настроек.

Это напоминает:

iOS Reset

способ, которым я это делаю, - просто нажать и удерживать значок для моего приложения в симуляторе, а затем, когда он начнет шевелиться, нажмите черно-белый (x). Появится сообщение с вопросом, действительно ли вы хотите удалить, и вы просто нажмите кнопку Да. В следующий раз, когда вы создадите и развернете свое приложение, оно будет использовать новую базу данных sqlite без сучка и задоринки, и вам не нужно будет ходить по файловой системе.

после iOS 5 на Mac OS X Lion, вы можете попробовать:

  1. создать скрипт под названием RemoveSimulatorApps.command содержит:
    rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Applications/*"
    
  2. Сохраните этот скрипт в каталог в вашем PATH.
  3. сделайте файл исполняемым, например:
    chmod +x RemoveSimulatorApps.command

предположения

  • вы можете вызвать это с помощью кнопок "избранное" на клавиатуре, например, на клавиатуре Logitech или Microsoft с программируемыми клавишами (следовательно, сохраните его как a .командный файл вместо того, чтобы сказать,. ш)
  • вы в порядке с сдуванием все в симуляторе iOS (идеально, если вы просто активно работаете над одним приложением)
  • все заметки от других применяются о том, чтобы быть хорошим обновляемым приложением и т. д. (Я лично нашел это полезным, тем не менее, b/c у меня есть переключатели режима разработки, которые перезагружают базу данных в определенном состоянии, я пытался сделать некоторую согласованную устойчивость/обработку ошибок)

Это может быть перебор, но..

вы также можете использовать меню и " сброс содержимого и настроек...-

то, что вы действительно пытаются сделать, это очистить вашу базу данных, если вы изменили схему. Один из способов сделать это, и это сделает вас счастливее в долгосрочной перспективе, когда вы начинаете доставка версии 2.0, 3.0 и т. д. вашего приложения, чтобы проверить версию вашей таблицы sqlite, и если она изменилась, а затем отказаться от старого файла и использовать тот, который в вашем пакете.

поиск способа очистки симулятора не поможет решить проблему реального мира о том, как очистить iPhone клиента, когда вы отправьте новую версию с новой схемой.

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

это работает с Xcode 6:

xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -I{} xcrun simctl erase {}

для .файл

alias cleansim="xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -I{} xcrun simctl erase {}"

для Xcode >= 6

xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -n1 xcrun simctl erase

по Xcode 6, Вы можете сделать это из командной строки с: xcrun simctl erase

кроме того, приложение iOS Simulator (как версия Xcode 6, так и более старые версии) имеет пункт меню "сброс содержимого и настроек", который можно использовать для удаления загруженного устройства.

начиная с Xcode 6:

xcrun simctl erase <sim udid>

Очистить Кэш Xcode;

Команда + Опция + Shift+K

Command + Shift+K

(используйте оба из них, потому что они имеют разную функциональность)

очистить содержимое производных данных;

Строка Меню - > Окно - > Организатор - > Проекты - > Выберите Свой Проект

правая панель показывает имя папки, а также кнопку Удалить на панели правая сторона позволяет удалять все полученные данные.

Очистить Кэш Симулятор;

строка меню - > iOS Simulator - > сброс содержимого и настроек

как я объяснял в комментарии под подтверждено ответом:

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

так что я закончил локально управление версиями моя устройства папка с git и чтобы удалить подписку на календарь после ее добавления, выполните следующие команды:

$ git reset HEAD --hard
$ git clean -f

Итак, шаги:

  1. установите приложение на симулятор iOS и делайте то, что вам нужно сделать
  2. определить устройство в ~/Library/Developer/CoreSimulator/Devices/ и cd, тогда git init чтобы создать репозиторий git
  3. как только вы хотите сохранить состояние, выполните git commit -a "Message"
  4. делать все, что изменяет настройки (например, добавление календаря подписка) и выполнять свои тесты
  5. выключение тренажера
  6. Do git reset --hard HEAD
  7. запустите симулятор, все изменения сделаны после git commit ушли.

в XCode перейдите в меню окна, выберите устройства, а затем вы можете просто удалить те, которые вам больше не нужны.

Для Xcode

я добавил следующее в мой ~/.bash_profile

alias cleansim='rm -r ~/Library/Application\ Support/iPhone\ Simulator/5.1/Applications/*'

Это просто ядерное оружие все приложения на sim-карте.

Если вы используете Xcode 9 ->меню ->оборудование ->стереть все содержимое и настройки

Xcode -> Hardware -> Erase All Content and Settings

Comments

    Ничего не найдено.