Как подключить отладчик представления Xcode к симулятору, запущенному из Visual Studio? - PullRequest
0 голосов
/ 28 мая 2018

Xcode имеет инструмент отладки представления, который позволяет проверять иерархию представления.

Я работаю над приложением iOS Xamarin и хочу отладить его представление.Приложение работает на симуляторе, запущенном с Visual Studio.

При подключении Xcode к инструменту процесса не отображается PID работающего симулятора.

Как прикрепить Xcode просмотреть отладчик этого процесса?Или, может быть, есть другой способ отладки иерархии представления Xamarin приложения?

1 Ответ

0 голосов
/ 28 мая 2018

Поскольку у вас нет лицензии Enterprise и, следовательно, Xamarin Inspector, которая интегрирована в рабочий процесс отладки Visual Studio, вы можете использовать XCode, но, конечно, вам придется вручную вносить изменения обратно в код C # / F #.

  1. Через VS4M запустите ваше приложение на симуляторе, чтобы установить его
  2. Прекратите отладку приложения в VS4M
    • Для доступа к приложению Xcode необходимо использовать lldb, а Mono предотвращаетэто через ptrace вызов (есть способы обойти это путем взлома mono_assembly_init_with_opt и досрочного возврата, но это уже другая история)
  3. Запустите приложение вручнуюсимулятор
  4. Открыть Xcode
    1. Вам нужно будет создать проект iOS
      • Все, что проект будет делать, так что Xcode включит Debug/Attach to process by PID or Name пункт меню
  5. Если вы не знаете имя процесса, получите идентификатор процесса приложения Xamarin.iOS, которое выполняется на симуляторе

    • Вы можете использовать ps

    пс топор |grep -i Погода |cut -d "" -f 2

    7864

  6. В Xcode присоединить к этому процессу

    • Отладка / Присоединить к процессупо PID или имени

enter image description here

Подождите пару секунд

  • или дольше, иногда Xcode может занять некоторое время, а иногда - мгновенно (?)

Теперь вы можете выбрать View UI Hierarchy из значка информации о процессе (крайний правый значок из имени / идентификатора процесса) через View process in other ways

enter image description here

Примечание: Просмотрите название процесса, и вы можете использовать его в будущем вместо pid, в данном случае это WeatherApp.iOS (см. Снимок экрана, верхний левый угол)

Примечание: На приведенном выше снимке экрана используется демонстрационная версия Xamarin.Forms WeatherApp (xamarin-forms-samples / Weather)

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