Ответ 1
Используйте параметр "Подождите, чтобы MyApp.app был запущен".
В Xcode удерживайте клавишу Option и выберите Product- > Run... (эллипсы добавляются, когда вы удерживаете Option down). Это вызовет редактор схемы, если выбрана схема "Выполнить". Нажмите вкладку "Информация", и на появившейся панели "Информация" вы увидите группу радиостанций с надписью "Запуск" с двумя вариантами: "Автоматически" и "Подождите, пока MyApp.app запустится". Если вы выберете второй вариант, Xcode запустит отладчик и дождитесь запуска приложения вручную. Вы можете установить точку останова в начале кода, который вы хотите отлаживать, и отладчик остановится там.
Reset приложение к его предыдущему состоянию.
Возможно, вам захочется добавить код, который сбрасывает приложение в любое состояние, в котором он находился до обновления. Это может быть код отладки, который исключается из сборки релиза. Проблемы с отладкой, требующие повторной установки приложения, каждый раз, когда вы хотите выполнить отладку, могут занять много времени. Даже просто нужно перезапустить приложение на каждом отладочном цикле, чтобы съесть много времени. Очень часто стоит потратить немного дополнительного времени на добавление кнопки к вашему приложению, которая отменяет все изменения, которые вы делаете, чтобы их можно было снова сделать.
Unit test.
Один отличный способ отладки кода, который имеет дело с состояниями приложений, которые трудно воссоздать, - это писать модульные тесты. В тесте вы можете создать любое состояние, которое вы хотите. Вы даже можете создавать состояния приложений, которые невозможно воссоздать в приложении. И вы можете отлаживать этот код снова и снова. Как и предыдущее решение, для написания кода требуется немного больше времени, но вы сохраните столько времени на каждой итерации цикла отладки, что это стоит того. Еще лучше, вы можете добавить тест в свой процесс сборки, чтобы гарантировать, что функциональность не будет прерываться позже.