Xcode 11.1, запуск и тестирование на устройстве iOS 13.1.2, установка точек останова - PullRequest
1 голос
/ 09 октября 2019

У меня есть файл проекта старше 7 лет, который начался с Xcode 4, который был портирован на Xcode 5, 7, 8 и 9.2. Для всех этих версий XCode существовал согласованный метод и поведение кнопки Run (Play), а также установка и остановка в точках останова.

Это корпоративное приложение, и я всегда мог позволить себе тестировать настоящие айфоны и айпады (не нужно было использовать симулятор). Недавно нам пришлось перейти с Xcode 9.2 на Xcode 11.1 для поддержки недавно купленных устройств под управлением iOS 13. Я всегда использовал target-c.

Моя проблема с Xcode 11.1. Кнопка Run работает по-разному, и точки останова не приводят к остановке программы. Что касается остановки точек останова, ничего не изменилось в настройках проекта, связанных с многочисленными учетными записями, которые я исследовал в Stackoverflow, чтобы точки останова игнорировались. И это всегда работало для меня раньше. Что касается кнопки Run, я вижу необоснованное поведение. Возможно, эти две проблемы связаны, поэтому я объединяю их вместе.

В предыдущих версиях Xcode одна нажимала кнопку «Выполнить», что приводило к следующему:

 1. The code was compiled and built when an editing change 
    had been made. 
 2. The newly built app was installed on the device whether 
    or not there was a previous version of the app already 
    residing there. 
 3. The app was then executed and breakpoints were halted
    upon.

В Xcode11.1, кнопка Run показывает список приложений, предназначенных для выполнения. Если мое приложение еще не существует на устройстве, оно не отображается в списке. И ни один из шагов, описанных выше, не выполняется.

Теперь я должен собрать и запустить приложение на устройстве с использованием Xcode 11.1 и iOS 13.1.2

. Зайдите в Product-> Build For-> Running. Это создает приложение, которое сейчас просто сидит там. Чтобы фактически установить его на устройстве, я должен вернуться к кнопке «Выполнить» и выбрать одно из доступных приложений, которое в моем случае я выбираю «Книги». Перед запуском Книги в окне состояния я вижу текст, указывающий, что мое приложение установлено на устройстве. Книги запускаются, и я нажимаю кнопку Стоп, чтобы убить их. Затем я снова нажимаю кнопку «Выполнить» и вижу мое приложение в списке. Затем я могу выбрать запуск и увидеть вывод в окно отладки.

Однако после запуска моего приложения ни одна из установленных точек останова не останавливается.

Буду признателен за любуюпомочь вам собрать. Есть ли метод для компиляции, сборки и запуска приложения, похожего на старый метод? И есть ли причина, по которой вы можете подумать, почему точки останова не обслуживаются?

Спасибо. Mike

1 Ответ

0 голосов
/ 11 октября 2019

За многие годы, что я использовал Xcode, мне никогда не приходилось менять схему исполнения. Так что я даже не поняла, что это за цель. По какой-то причине, когда я скачал самую новую версию Xcode (11.1), он изменил значения по умолчанию для Scheme, в результате чего кнопка Run запустилась другим способом, который я описал в посте. Возможно, это связано с расширением, о котором я не знаю в своих зависимостях кода, как упомянул Paulw11. Но в любом случае, вот способ гарантировать, что ваше приложение будет запущено напрямую и в отладчике:

Product-> Scheme-> Edit Scheme-> Build Configuration = Debug, для Executable задано значение "Your App",Выполнение отладки установлено на флажок, для параметра «Запустить автоматически» установлено значение «проверено».

Осторожно, Xcode может изменить эти значения при загрузке новой версии.

...