2013-08-29 3 views
45

При запуске приложения из URL-адреса существует различие между тем, является ли URL-адрес только что запущенным приложением, или если оно возобновляет приложение, которое было помещено в приостановленное состояние.iOS: как отлаживать «свежее запуск» приложения с помощью URL-адреса

Мой вопрос: как мне отладить процесс «нового запуска» от URL? Нажатие «Запустить» в Xcode автоматически открывает приложение. Затем я должен приостановить приложение, чтобы добраться до Safari и получить доступ к моему тестовому сайту. Но если я закрою приостановленное приложение, Xcode больше не привязан к нему, и я не могу отлаживать его.

ответ

47

Эти действия могут выполняться на устройстве. Основано на этом link.

  1. Запустите приложение с Xcode, чтобы установить его на свое устройство, а затем остановите его из Xcode.
  2. Выйти из приложения из пользовательского интерфейса переключателя приложений на устройстве.
  3. Перейдите к схеме для проекта в Xcode. На вкладке «Информация» на вкладке «Запуск » есть переключатель «Ожидание исполняемого файла для запуска». Убедитесь, что этот флажок установлен вместо параметра «Автоматически» .
  4. Запустите приложение с Xcode. Он не откроет на устройстве, но отладчик будет ждать его открытия, а затем он добавит .

На тренажере, предложенном Марком-Александром Берубе.

  1. Запустите приложение на эмуляторе.
  2. Force выйти из приложения на симуляторе. Нажмите cmd+shift+(hit h twice). Проведите по экрану.
  3. Откройте терминал и введите xcrun simctl openurl booted http://yourdomain/path.
+3

Для более легкого тестирования с помощью iOS Simulator мы можем использовать терминал и вставить команду 'xcrun simctl openurl booted http: // yourdomain/path', чтобы запустить приложение с помощью URL-адрес, который мы хотим. –

+1

Но Xcode не будет прикрепляться немедленно, когда я запустил приложение, подобное этому - что делать, когда я хочу, чтобы он остановился в точке останова в URL-адресе синтаксического анализа/кода маршрутизации? – fabb

+0

@fabb Если вы выполните шаги правильно, это должно поразить точку останова при разборе URL. –

31

Вам нужно настроить схему приложения Xcode, чтобы дождаться запуска приложения вручную. Вот как вы это делаете: http://blogmobile.itude.com/2013/09/03/how-to-debug-deep-linking-in-ios/.

Затем вам необходимо скопировать URL-адрес запуска и вставить его в Mobile Safari. Это запустит ваше приложение и заставит Xcode подключиться к запущенному процессу приложения.

+0

Если вы отлаживаете симулятор, вот подсказка: Ю. также может редактировать URL сохраненного веб-клипа. Это всего лишь плиты в ~/Library/Application Support/iPhone Simulator/7.1-64/Library/WebClips. (Отрегулируйте это 7.1-64 по мере необходимости.) –

+0

Спасибо! Ты спас мой день! –

+0

Совет: я нашел свои WebClips в ~/Library/Developer/CoreSimulator/Devices/{GUID}/data/Library/WebClips. (Xcode 7.1.1/Simulator 9.1) –

Смежные вопросы