- Введение в Xamarin.iOS для Visual Studio
- Требования и установка
- Подключение к компьютеру Mac
- Обзор панели инструментов Visual Studio
- Стандартная панель инструментов
- Панель инструментов iOS
- Параметры вывода iOS
- Окно выходных данных
- Свойства проекта iOS
- Создание проекта для приложений iOS
- Выполнение & отладки приложений iOS
- Ведение журнала устройства
- Остановка выполнения для отладки
- Установка и настройка средств для разработки с помощью iOS
- Предварительные требования
- Установка удаленного агента для iOS
- Скачивание и установка удаленного агента
- Запуск удаленного агента
- Запуск удаленного агента
- Отключение режима защищенного соединения
- Включение режима защищенного соединения
- Остановка удаленного агента
- Настройка удаленного агента в Visual Studio
- Настройка удаленного агента из Visual Studio
- Создание нового ПИН-кода безопасности
- Создание ПИН-кода
- Создание нового сертификата сервера
- Создание сертификата сервера
- Настройка удаленного агента на компьютере Mac
- Настройка удаленного агента
- Устранение неполадок удаленного агента
- Отладка на устройстве с iOS
Введение в Xamarin.iOS для Visual Studio
Xamarin для Windows позволяет разрабатывать и тестировать приложения iOS в Visual Studio с использованием подключенного к сети компьютера Mac, который предоставляет службу сборки и развертывания.
В этой статье рассматриваются действия по установке и настройке средств Xamarin.iOS на каждом компьютере, предназначенном для создания приложений iOS с помощью Visual Studio.
Разработка приложений для iOS в Visual Studio дает ряд преимуществ:
- создание кроссплатформенных решений для приложений iOS, Android и Windows;
- использование любимых средств Visual Studio (таких как Resharper и Team Foundation Server) для всех кроссплатформенных проектов, включая исходный код iOS;
- работа в знакомой интегрированной среде (IDE) с использованием привязок Xamarin.iOS ко всем интерфейсам API Apple.
Требования и установка
При разработке приложений для iOS в Visual Studio должен выполняться ряд требований. Как было кратко упомянуто в обзоре, для компиляции файлов IPA требуется компьютер Mac, а приложения невозможно развертывать на устройствах без сертификатов и средств подписывания кода Apple.
Доступно несколько конфигураций, из которых вы можете выбрать наиболее подходящую под ваши потребности. Эти конфигурации перечислены ниже:
- Компьютер Mac используется в качестве главного компьютера разработки, а среда Visual Studio установлена на виртуальной машине Windows. Мы рекомендуем использовать для создания виртуальной машины такое программное обеспечение, как Parallels или VMWare.
- Компьютер Mac используется только в качестве узла сборки. В этом сценарии он подключается к той же сети, в которой находится компьютер Windows с установленными необходимыми средствами.
В любом случае необходимо выполнить указанные ниже действия:
Подключение к компьютеру Mac
Для подключения Visual Studio к узлу сборки Mac выполните инструкции в руководстве Связывание с компьютером Mac.
Обзор панели инструментов Visual Studio
При установке Xamarin iOS для Visual Studio добавляются элементы на стандартную панель инструментов и на новую панель инструментов iOS. Назначение этих панелей инструментов описывается ниже.
Стандартная панель инструментов
Элементы управления, имеющие отношение к разработке приложений iOS с помощью Xamarin, обведены красным:
- Запуск — запускает отладку или выполнение приложения на выбранной платформе. Должен быть подключен компьютер Mac (см. индикатор состояния на панели инструментов iOS).
- Конфигурации решения — позволяет выбрать нужную конфигурацию (например, отладка или выпуск).
- Платформы решения — позволяет выбрать iPhone или iPhoneSimulator в качестве платформы развертывания.
Панель инструментов iOS
Панель инструментов iOS выглядит антологичным образом во всех версиях Visual Studio. Она показана ниже:
Далее описывается каждый ее элемент:
- Mac Agent или диспетчер подключений — открывает диалоговое окно «Xamarin Mac Agent». Во время подключения этот значок будет оранжевым, а после установления подключения — зеленым.
- Показать симулятор iOS — окно симулятора iOS на компьютере Mac открывается на переднем плане.
- Показать IPA-файл на сервере сборки — на компьютере Mac открывается программа Finder в месте, где находится выходной файл IPA приложения.
Параметры вывода iOS
Окно выходных данных
Это параметры в области Вывод, с помощью которых можно просматривать сообщения и ошибки, связанные со сборкой, развертыванием и подключением.
На снимке экрана ниже показаны доступные окна вывода, которые могут отличаться в зависимости от типа проекта:
Xamarin — содержит сведения, относящиеся исключительно к Xamarin, например о подключении к компьютеру Mac и состоянии активации.
Диагностика Xamarin — содержит более подробные сведения о проекте Xamarin, например о взаимодействии с Android.
Другие области вывода Visual Studio, такие как «Отладка» и «Сборка», также доступны в представлении «Вывод» и служат для отображения выходных данных отладки и MSBuild:
Отладка
Сборка Порядок сборки
Свойства проекта iOS
Чтобы получить доступ к свойствам проекта Visual Studio, можно щелкнуть его имя правой кнопкой мыши и выбрать в контекстном меню пункт Свойства. Это позволит настроить приложение iOS, как показано на снимке экрана ниже:
Подписывание пакета iOS — подключение к компьютеру Mac для заполнения удостоверений подписывания кода и профилей подготовки:
Параметры IPA iOS — файл IPA сохраняется в файловой системе Mac:
Параметры запуска iOS — настройка дополнительных параметров:
Создание проекта для приложений iOS
Проект iOS создается в Visual Studio так же, как проект любого другого типа. при выборе пункта файл New Project откроется диалоговое окно, показанное ниже, в котором показаны некоторые типы проектов, доступные для создания нового проекта iOS.
Выберите Приложение iOS (Xamarin) , чтобы отобразить список следующих шаблонов для создания приложения Xamarin.iOS:
Раскадровку и файлы XIB можно редактировать в Visual Studio с помощью iOS Designer. Чтобы создать раскадровку, выберите один из шаблонов раскадровки. В обозревателе решений будет создан файл Main.storyboard, как показано на снимке экрана ниже.
Чтобы приступить к созданию или редактированию раскадровки, дважды щелкните файл Main.storyboard . Он откроется в iOS Designer:
Чтобы добавить объекты в представление, перетащите их из области Панель элементов в область конструктора. Область элементов можно добавить, выбрав пункт панель элементов вид, если она еще не добавлена. С помощью области Свойства можно изменять свойства объектов, настраивать их макеты и создавать события, как показано ниже:
Дополнительные сведения об использовании конструктора iOS см. в посвященных конструктору руководствах.
Выполнение & отладки приложений iOS
Ведение журнала устройства
В Visual Studio 2017 используются единые панели журналов Android и iOS.
Журналы для устройств Android и iOS можно просматривать в новом окне средства журнала устройств для Visual Studio. Чтобы открыть это окно, нужно выполнить одну из указанных ниже последовательностей команд:
- просмотр другого Windows > журнала устройств
- Сервис > Журнал устройств iOS
- Журнал устройств панели инструментов iOS
Когда окно средства откроется, пользователь может выбрать физическое устройство в раскрывающемся списке устройств. После выбора устройства журналы автоматически добавляются в таблицу. При переключении между устройствами ведение журнала устройств останавливается и запускается.
Чтобы устройства отображались в поле со списком, проект iOS должен быть загружен. Кроме того, для обнаружения устройств iOS, подключенных к компьютеру Mac, среда Visual Studio должна быть подключена к серверу Mac.
В этом окне находятся следующие элементы: таблица записей журнала, раскрывающийся список для выбора устройств, функция очистки записей журнала, поле поиска и кнопки воспроизведения, остановки, паузы.
Остановка выполнения для отладки
В любых местах приложения можно установить точки останова, которые предписывают отладчику временно остановить выполнение программы. Чтобы задать точку останова в Visual Studio, щелкните область поля редактора рядом с номером строки кода, где требуется прервать выполнение:
Начните отладку и перейдите к точке останова в приложении в симуляторе или на устройстве. При достижении точки останова строка выделяется и становятся доступны стандартные возможности отладки Visual Studio: вы можете выполнять код пошагово с заходом, обходом или выходом, просматривать локальные переменные или пользоваться окном «Интерпретация».
На этом снимке экрана показан симулятор iOS, выполняющийся вместе со средой Visual Studio с использованием ПО Parallels в macOS
Источник
Установка и настройка средств для разработки с помощью iOS
Вы можете использовать Visual Studio с кросс-платформенными средствами для разработки мобильных приложений на языке C++ для редактирования, отладки и развертывания кода iOS на симуляторе или устройстве iOS. Но, из-за лицензионных ограничений, код нужно создавать и выполнять на компьютере Mac удаленно. Для сборки и запуска приложений iOS с помощью Visual Studio необходимо установить и настроить удаленный агент vcremoteна компьютере Mac. Удаленный агент обрабатывает запросы на сборку, поступающие из Visual Studio, и запускает приложение на устройстве iOS, подключенном к компьютеру Mac, или в эмуляторе iOS на компьютере Mac.
Сведения об использовании размещенных в облаке служб Mac вместо компьютера Mac см. в разделе Настройка подключения Visual Studio к размещенному в облаке компьютеру Mac. Приведенные инструкции предназначены для разработки с помощью инструментов Visual Studio для Apache Cordova. Чтобы использовать инструкции для сборки с помощью С++, замените vcremote на remotebuild .
После установки инструментов для сборки с помощью iOS, обратитесь к этой статье, чтобы получить дополнительные сведения о способах быстрой настройки и обновления удаленного агента для разработки iOS в Visual Studio и на вашем Mac.
Предварительные требования
Для установки и использования удаленного агента с целью разработки кода для iOS необходимы следующие компоненты:
Компьютер Mac с операционной системой macOS Mojave (версии 10.14) или более поздней версии.
Действующая учетная запись разработчика Apple.
Вы можете получить бесплатную учетную запись, которая позволяет загружать неопубликованные приложения на устройстве с iOS для тестирования, но не для распространения.
Xcode версии 10.2.1 или более поздней.
Xcode можно скачать в магазине App Store.
Средства командной строки Xcode
Чтобы установить средства командной строки Xcode, откройте приложение «Терминал» на компьютере Mac и введите следующую команду:
Учетная запись Apple ID, настроенная в Xcode, как удостоверение для подписи приложений.
Чтобы просмотреть или задать удостоверение подписывания в Xcode, откройте меню Xcode и выберите пункт Preferences(Настройки). Щелкните Accounts (Учетные записи), выберите свой идентификатор Apple ID, а затем нажмите кнопку View Details (Просмотреть подробности). См. подробные инструкции в разделе Добавление вашей учетной записи Apple ID.
Подробные сведения о требованиях для подписывания см. в разделе Что такое подписывание приложений.
Профиль подготовки, настроенный в Xcode для вашего устройства, если для разработки вы используете устройство с iOS.
Xcode обеспечивает автоматическое подписывание, создавая сертификаты для подписи при необходимости. Подробные сведения об автоматическом подписывании Xcode см. в разделе Автоматическое подписывание.
Если вы предпочитаете ручное подписывание, необходимо создать профиль подготовки для вашего приложения. Подробные сведения о создании профилей подготовки см. в статье Создание профилей подготовки для разработки.
Node.js 12.14.1 и npm версии 6.13.4
Установите версию Node.js 12.14.1 на своем компьютере Mac. Если вы установите пакет Node.js, он должен сопровождаться npm версии 6.13.4. Другие версии Node.js и npm могут не поддерживать некоторые модули, используемые в удаленном агенте vcremote , что может привести к сбою установки vcremote . Рекомендуется установить Node.js с помощью диспетчера пакетов, например Node Version Manager. Старайтесь не использовать команду sudo для установки Node.js, так как некоторые модули могут не устанавливаться при использовании sudo .
Установка удаленного агента для iOS
При установке мобильной разработки с рабочей нагрузкой C++, Visual Studio может взаимодействовать с удаленным агентом vcremote, запущенным на вашем Mac для передачи файлов, сборки и запуска вашего iOS приложения, а также отправки команд отладки.
Перед установкой удаленного агента убедитесь, что вы выполнили Предпосылки и шаги установки в разделе Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++.
Скачивание и установка удаленного агента
В приложении терминала на компьютере Mac убедитесь, что используемая версия Node.js является обязательной версией 12.14.1. Чтобы проверить версию, выполните команду:
Если это неправильная версия, возможно, потребуется выполнить инструкции по установке Node.js, приведенные в предварительных требованиях. Затем перезапустите Node.js.
Убедившись, что используется необходимая версия Node.js, выполните следующую команду, чтобы установить vcremote в этой версии Node.js:
npm install -g —unsafe-perm vcremote
Рекомендуется применять глобальный параметр установки (-g), но он не является обязательным. Если вы не используете параметр глобальной установки, vcremote устанавливается по текущему активному пути в приложении терминала.
В ходе установки будет установлен vcremote , а на компьютере Mac будет активирован режим разработчика. Также будут установлены Homebrew и два пакета npm, и vcremote-utils . После завершения установки можно игнорировать любые предупреждения о пропущенных необязательных зависимостях.
Для установки Homebrew требуется доступ sudo (права администратора). Если вам нужно установить vcremote без доступа «sudo», вы можете установить Homebrew вручную в папку «usr/local» и добавить папку «bin» в ваш путь. Дополнительную информацию см. в документации по Homebrew. Чтобы включить режим разработчика вручную, введите в приложении «Терминал» следующую команду: DevToolsSecurity -enable
Если Visual Studio обновляется до новой версии, то также необходимо обновить удаленный агент до текущей версии. Чтобы обновить удаленный агент, еще раз выполните инструкции по его скачиванию и установке.
Запуск удаленного агента
Чтобы среда Visual Studio могла выполнять сборку и запуск кода iOS, удаленный агент должен быть запущен. Для обмена данными с удаленным агентом среда Visual Studio должна быть сопряжена с ним. По умолчанию удаленный агент выполняется в режиме защищенного соединения, что требует ввода ПИН-кода для его сопряжения с Visual Studio.
Запуск удаленного агента
В приложении «Терминал» на компьютере Mac введите следующую команду:
Эта команда запускает удаленный агент со стандартным каталогом сборки
/vcremote . Дополнительные параметры конфигурации см. в разделе Configure the remote agent on the Mac.
При первом запуске агента, и каждый раз, когда вы создаете новый сертификат клиента, вам предоставляется необходимая информация для настройки агента в Visual Studio, включая имя узла, порт и PIN-код.
Если вы намерены настроить удаленный агент в Visual Studio, используя имя узла, выполните проверку связи с компьютером Mac из Windows, используя это имя узла, чтобы убедиться в том, что он доступен. В противном случае может потребоваться использовать вместо имени узла IP-адрес.
Созданный ПИН-код является одноразовым и действителен в течение ограниченного срока. Если не выполнить сопряжение Visual Studio с удаленным агентом до истечения его срока действия, потребуется создать новый ПИН-код. Для получения дополнительной информации см. Generate a new security PIN.
Удаленный агент можно использовать в небезопасном режиме. В небезопасном режиме сопряжение удаленного агента с Visual Studio можно выполнить без ПИН-кода.
Отключение режима защищенного соединения
Чтобы отключить режим защищенного соединения в vcremote , введите эту команду в приложение «Терминал» на компьютере Mac:
vcremote —secure false
Включение режима защищенного соединения
Чтобы включить режим защищенного соединения, введите следующую команду:
vcremote —secure true
После запуска удаленного агента его можно использовать из Visual Studio, пока он не будет остановлен.
Остановка удаленного агента
- В окне терминала vcremote под управлением введите vcremote ++.
Настройка удаленного агента в Visual Studio
Чтобы подключиться к удаленному агенту из Visual Studio, нужно задать удаленную конфигурацию в параметрах Visual Studio.
Настройка удаленного агента из Visual Studio
Если агент еще не запущен на компьютере Mac, выполните инструкции в разделе Запуск удаленного агента. Чтобы среда Visual Studio могла успешно выполнить сопряжение, подключение и сборку проекта, на компьютере Mac должен быть запущен vcremote .
На компьютере Mac получите имя узла или IP-адрес компьютера Mac.
IP-адрес можно получить с помощью команды ifconfig в окне «Терминал». Используйте адрес inet, указанный под активным сетевым интерфейсом.
В строке меню Visual Studio выберите Сервис, Параметры.
В диалоговом окне Параметры разверните узлы Кроссплатформенный, C++и iOS.
В полях Имя узла и Порт введите значения, полученные при запуске удаленного агента. Именем узла может быть DNS-имя или IP-адрес компьютера Mac. Порт по умолчанию — 3030.
Если не удается проверить связь с компьютером Mac, используя имя узла, возможно, потребуется использовать IP-адрес.
Если вы используете удаленный агент в режиме защищенного соединения по умолчанию, установите флажок Безопасный , а затем введите ПИН-код, предоставленный удаленным агентом, в поле ПИН-код . Если вы используете удаленный агент в небезопасном режиме, снимите флажок Безопасный и оставьте поле ПИН-код пустым.
Выберите Связать, чтобы активировать сопряжение.
Сопряжение сохраняется до тех пор, пока не изменится имя узла или порт. Если вы изменили имя узла или порт в диалоговом окне Параметры , для отмены изменения нажмите кнопку Восстановить , чтобы восстановить прежнее сопряжение.
Если выполнить сопряжение не удается, проверьте, запущен ли удаленный агент, выполнив инструкции в разделе Start the remote agent. Если с момента создания ПИН-кода удаленным агентом прошло слишком много времени, выполните инструкции, приведенные в разделе Generate a new security PIN , на компьютере Mac и повторите попытку. Если вы используете имя узла компьютера Mac, попробуйте вместо этого указать IP-адрес в поле Имя узла .
Обновите имя папки в поле Удаленный корневой элемент, указав папку, используемую удаленным агентом, в домашнем каталоге ( ) на компьютере Mac. По умолчанию удаленный агент использует /Users/ /vcremote в качестве удаленного корневого элемента.
Чтобы сохранить параметры удаленного сопряжения, нажмите кнопку ОК .
При каждом использовании Visual Studio применяется одна и та же информация для подключения к удаленному агенту на компьютере Mac. Повторно сопрягать Visual Studio с удаленным агентом требуется только в том случае, если вы создали новый сертификат безопасности на компьютере Mac либо если изменилось его имя узла или IP-адрес.
Создание нового ПИН-кода безопасности
При первоначальном запуске удаленного агента созданный ПИН-код действует в течение ограниченного времени (по умолчанию 10 минут). Если не выполнить сопряжение Visual Studio с удаленным агентом до истечения этого срока, потребуется создать новый ПИН-код.
Создание ПИН-кода
Остановите агент (или откройте второе окно приложения «Терминал» на компьютере Mac и используйте его для ввода команды).
В приложении «Терминал» введите следующую команду:
Удаленный агент создаст новый временный ПИН-код. Для сопряжения Visual Studio с помощью нового ПИН-кода повторно выполните инструкции, приведенные в разделе Настройка удаленного агента в Visual Studio.
Создание нового сертификата сервера
В целях безопасности сертификаты серверов, которые сопрягают Visual Studio с удаленным агентом, привязаны к имени узла или IP-адресу компьютера Mac. Если эти значения меняются, вам потребуется создать новый сертификат сервера, а затем изменить конфигурацию Visual Studio, используя новые значения.
Создание сертификата сервера
Остановите агент vcremote .
В приложении «Терминал» введите следующую команду:
При появлении запроса на подтверждение введите Y .
В приложении «Терминал» введите следующую команду:
Эта команда создает новый временный ПИН-код.
Для сопряжения Visual Studio с помощью нового ПИН-кода повторно выполните инструкции, приведенные в разделе Настройка удаленного агента в Visual Studio.
Настройка удаленного агента на компьютере Mac
Удаленный агент можно настроить, используя различные параметры командной строки. Например, можно задать порт для прослушивания запросов на построение и указать максимальное количество сборок, которые нужно поддерживать в файловой системе. По умолчанию это значение равно 10. Удаленный агент будет удалять сборки, которые выходят за максимальное число, при завершении работы.
Настройка удаленного агента
Чтобы просмотреть полный список команд удаленного агента, в приложении «Терминал» введите следующую команду:
Чтобы отключить безопасный режим и включить обычные подключения на основе HTTP, введите следующую команду:
vcremote —secure false
В этом случае снимите флажок Безопасный и оставьте поле ПИН-код пустым при настройке агента в Visual Studio.
Чтобы указать расположение для файлов удаленного агента, введите следующую команду:
vcremote —serverDir directory_path
Здесь путь_к_каталогу — это расположение на компьютере Mac, где будут храниться файлы журналов, сборки и сертификаты серверов. По умолчанию, это расположение /Users/ /vcremote . В этой папке сборки упорядочиваются по номеру сборки.
Для использования фонового процесса с целью записи stdout и stderr в файл server.log введите следующую команду:
vcremote > server.log 2>&1 &
Файл server.log может помочь при устранении проблем со сборками.
Для запуска агента с помощью файла конфигурации, а не параметров командной строки, введите следующую команду:
vcremote —config config_file_path
Здесь путь_к_файлу_конфигурации — это путь к файлу конфигурации в формате JSON. Параметры запуска и их значения не должны содержать дефисы.
Устранение неполадок удаленного агента
Отладка на устройстве с iOS
Если отладка на устройстве с iOS не работает, то могут возникнуть проблемы при использовании средства ideviceinstaller, которое используется для взаимодействия с устройством с iOS. Этот инструмент обычно устанавливается с Homebrew во время установки vcremote . Выполните следующие шаги в качестве обходного решения.
Откройте приложение «Терминал» и обновите ideviceinstaller и его зависимости, выполнив следующие команды по порядку:
Убедитесь, что Homebrew обновлен
Удалите libimobiledevice и usbmuxd
brew uninstall —ignore-dependencies libimobiledevice
brew uninstall —ignore-dependencies usbmuxd
Установите последнюю версию libimobiledevice и usbmuxd
brew install —HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install —HEAD libimobiledevice
Удалите и переустановите ideviceinstaller
brew uninstall ideviceinstaller
brew install ideviceinstaller
Убедитесь, что ideviceinstaller может взаимодействовать с устройством, перечислив приложения, установленные на устройстве:
Если ideviceinstaller сообщает, что доступа к папке /var/db/lockdown нет, измените права папки:
sudo chmod 777 /var/db/lockdown
Затем еще раз проверьте, может ли ideviceinstaller взаимодействовать с устройством.
Источник