Распространение Приложения Ios Внутри Компании (Собственное Приложение Enterprise Distribute Ios)

(Внимание, под катом пробки) Подготовка и распространение IOS-приложения внутри компании — непростая задача, особенно когда приложение написано на Windows с использованием Visual Studio, а большинство руководств в Интернете описывают исключительно MacOS с использованием Xcode. Однако после многочасовой битвы с детищем Apple нам удалось совершить, казалось бы, невозможное, а именно: скрестить жирафа с носорогом, собрать iOS-приложение на Xamarin в архив Xcode, непосредственно на MacOS, затем получить необходимые файлы для распространения, и, наконец, создайте ссылку, по которой будет распространяться приложение.

Да, это не кажется очень трудным для слуха.

Однако когда дело доходит до разработки приложений для устройств Apple, все становится в несколько раз непонятнее и сложнее.

И после триумфальной, но непростой победы нам захотелось оставить свой след в истории, написав этот урок.



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

Предпосылки: 1. Необходимо иметь учетную запись Apple Enterprise — 299 долларов США в год.



1 шаг.

Создание сертификата.

1. Сначала на Mac вам необходимо создать запрос на создание сертификата.

Для этого нужно открыть доступ к связке ключей, например, через поиск:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

2. В левом верхнем углу экрана выберите доступ к связке ключей, в выпадающем меню выберите «помощник по сертификатам» --> «запросить сертификат у центра сертификации», откроется соответствующее окно:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

3. В появившемся окне заполните поля «Адрес электронной почты пользователя» — ваш адрес электронной почты, и «Общее имя» — имя ключа.

А также выберите пункт «Сохранено на диск», чтобы сохранить файл запроса на свой компьютер.

И нажмите кнопку «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

4. Далее появится окно, в котором нужно указать имя файла запроса и выбрать путь для сохранения файла.

Внесите необходимые изменения и сохраните:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

5. После успешного сохранения появится следующее окно.

Нажмите «Готово»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

6. После мы видим, что в месте сохранения (в данном примере на рабочем столе) создан файл запроса.

Либо мы можем увидеть созданный ключ в списке ключей в «связке ключей»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

7. Далее нам необходимо создать сертификат, сделать это можно на сайте.

Apple для разработчиков войдя в свою учетную запись:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

8. После успешного входа в аккаунт переходим в «Сертификаты, идентификаторы и профили», также на странице сертификатов нужно убедиться, что выбрано «IOS, tvOS, watchOS»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

9. Далее на странице в разделе «Сертификаты» нужно выбрать «Производство»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

10. На странице нажмите на кнопку с изображением «+» для создания сертификата.

Появится страница, на которой необходимо выбрать тип создаваемого сертификата:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

11. В этом примере нас интересует метод внутреннего распространения, поэтому в качестве типа сертификата нам нужно выбрать «Внутренний и специальный».

Затем нажмите кнопку «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

12. Затем мы перейдем к следующей странице создания сертификата, где будет описано, как создать запрос на сертификат в MacOS. Мы уже создали этот запрос в предыдущих пунктах.

Нажмите кнопку «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

13. На следующем этапе вам нужно будет загрузить на рабочий стол файл запроса, который мы создали ранее.

После успешной загрузки нажмите «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

14. После этого будет сгенерирован сертификат, и на следующей странице его можно будет скачать на свой компьютер:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

15. Загрузите сертификат, в данном примере, на рабочий стол.

Созданный сертификат мы также можем увидеть на сайте:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

Как мы видим, в результате мы успешно получили сертификат. Следующим шагом будет создание идентификатора приложения.



Шаг 2. Создание идентификатора приложения.

На предыдущем шаге мы успешно создали сертификат, теперь нам нужно создать идентификатор приложения.

Для этого вам нужно: 1. На сайте Apple для разработчиков , в личном кабинете сначала зайдите в «Сертификаты, идентификаторы и профили», также на странице сертификатов нужно убедиться, что выбрано «IOS, tvOS, watchOS»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

2. Далее на странице в разделе «Идентификаторы» нужно выбрать «Идентификаторы приложений»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

3. На странице нажмите на кнопку с изображением «+», чтобы создать App ID. Появится страница, на которой необходимо выбрать настройки создаваемого идентификатора.

Настройки ID индивидуальны для вашего приложения, единственное важное уточнение – в графе App ID Suffix нужно выбрать Explicit App ID:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

4. После создания идентификатора приложения его можно будет увидеть на сайте:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

В результате двух шагов мы успешно получили сертификат и создали App ID. Далее нам нужно создать профили обеспечения, используя созданный сертификат. И это подводит нас к следующему шагу «Шаг 3».

Создание профилей обеспечения».



3 Шаг.

Создание профилей обеспечения.

На предыдущем шаге мы успешно создали сертификат, теперь нам нужно создать с его помощью Provisioning Profiles. Для этого вам нужно: 1. На сайте Apple для разработчиков , в личном кабинете сначала зайдите в «Сертификаты, идентификаторы и профили», также на странице сертификатов нужно убедиться, что выбрано «IOS, tvOS, watchOS»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

2. Далее на странице в разделе «Профили обеспечения» необходимо выбрать «Распространение»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

3. На странице нажмите кнопку с изображением «+», чтобы создать Provisioning Profiles. Появится страница, на которой необходимо выбрать тип создаваемого профиля:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

4. В этом примере нас интересует метод внутреннего распределения; соответственно, выберите тип профиля «В доме» и нажмите кнопку «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

5. На следующей странице вам необходимо выбрать идентификатор приложения, созданный ранее на шаге 2:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

6. После нажатия кнопки «Продолжить» переходим к выбору сертификата, мы его создали на шаге 1. Далее нажимаем кнопку «Продолжить»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

7. На следующей странице нам необходимо заполнить поле с именем профиля и проверить данные перед созданием профиля:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

8. После этого профиль будет сгенерирован и вы сможете его скачать:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

9. Загрузите профиль обеспечения (в данном примере) на рабочий стол.

Мы также можем увидеть созданный профиль обеспечения на сайте и убедиться, что он активен:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

В результате трех шагов мы успешно создали профиль обеспечения.



4 Шаг.

Создание архивов Xcode (.

xcarchive) на основе вашего приложения в Visual Studio для Windows и последующее создание файлов .

ipa и .

plist.

Предыдущие шаги выполнялись на компьютере Apple (Mac), далее я расскажу, как создать .

xcarchive в Visual Studio 2017 для Windows непосредственно на Mac. 1. Для этого нам понадобится приложение Xamarin в Visual Studio, которое будет подключено к Mac:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

2. В решении нужно выбрать проект IOS, щелкнув по нему правой кнопкой мыши.

В появившемся меню выберите «Свойства».

В открывшемся окне выберите «Настройка пакета ios».

Далее в «настройке пакета» выбираем «ручная подготовка», а ниже в графе «ручная подготовка» выбираем ваш сертификат и профиль, который мы создали на предыдущих шагах:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

3. В проекте IOS нужно выбрать файл Info.plist и убедиться, что «идентификатор пакета» соответствует нужному App ID:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

4. Затем откройте командную строку разработчика в Visual Studio (от имени администратора) «Командная строка разработчика для VS 2017» и либо перейдите в каталог с iOS-проектом, либо укажите полный адрес при создании команды.

Эта команда создаст архив .

xcarchive на Mac из Visual Studio. Сам архив не содержит нужных нам для раздачи файлов .

ipa и .

plist, поэтому после генерации архива нам нужно будет их создать.

Подробнее о том, как создать архив, вы можете узнать Здесь .

Команда:

   

msbuild /p:Configuration=Release /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhone /p:ArchiveOnBuild=true /t:"Build" MyProject.csproj



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

5. После успешного выполнения команды на Mac должен был быть создан архив.

Нам нужно запустить Xcode, выбрать в нем «Windows» и из этого меню выбрать «Organazer».

Там в разделе «Архив» мы увидим созданный архив .

xcarchive:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

6. Теперь нам нужно на основе созданного архива создать файлы .

ipa и .

plist. С их помощью мы сможем распространять наше приложение минуя AppStore, например, внутри компании.

Далее нам нужно нажать кнопку «Распространить приложение».

В появившемся меню выберите «Предприятие» и нажмите кнопку «Далее»:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

7. Далее необходимо выбрать устройства, на которые можно распространять и обязательно выбрать «включить манифест для беспроводной установки», чтобы можно было загрузить приложение из браузера:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

8. В следующем окне нужно указать «Имя» — название приложения; «URL приложения» — путь к файлу .

ipa; «Отображаемый URL изображения» — Путь к иконке 57х57; «URL полноразмерного изображения» — путь к иконке 512х512. Важно, чтобы сервер, на котором расположены файлы .

ipa и .

plist, был зашифрован, то есть он должен быть https. В примере используется сервис почтовый ящик .

При использовании службы Dropbox Важно знать : правильный путь к файлу по публичной ссылке не должен начинаться с « https://www.dropbox.com/ », как указано в сгенерированной ссылке, и с « https://dl.dropboxusercontent.com/ ”.



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

9. На следующем этапе нам необходимо выбрать созданный сертификат и Provisioning Profile:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

10. После этого мы увидим успешно собранное приложение, и нам необходимо выбрать, куда сохранить папку с приложением, которое затем будем распространять:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

11. После сохранения на рабочем столе создалась папка.

Содержимое папки вы можете увидеть на скриншотах ниже; при генерации создаются 4 файла .

plist и обычно 1 .

ipa, но в тестовом приложении это немного по-другому, но в данном случае нас будет интересовать файл, имя которого содержит только имя нашего приложения.

Что касается четырех файлов .

plist, то нам понадобится файл «manifest.plist».

Для установки приложения необходим plist, в котором описаны предустановочные свойства.

Вы можете узнать больше о Enterprise Distribution и посмотреть, как выглядит файл манифеста.

plist. Здесь :

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

Таким образом, на этом этапе мы успешно создали файлы .

ipa и .

plist приложения, созданного в Visual Studio 2017, которые мы будем использовать для внутреннего распространения.



5 Шаг.

Распространение приложений

На предыдущих шагах мы подготовили наше приложение к распространению.

На этом этапе мы создадим простой html файл со ссылкой и разместим его на локальном IIS, это сделано для упрощения примера, но расположение ссылки не имеет значения.

Нет в ссылке на пример может быть размещен на вашем собственном веб-сайте, чтобы он был доступен сотрудникам, точно так же, как файлы приложений должны размещаться на вашем собственном сервере.

Однако в этом примере, как упоминалось ранее, мы использовали сервис Dropbox. 1. Сначала нам нужно поместить файлы (значки, файл .

ipa и манифест.plist) в Dropbox и сделать их доступными по ссылке:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)

2. Затем создаем html-файл следующего содержания:

<html> <body> <a href=" itms-services://Эaction=download-manifest&url=https://www.yoursite.ru/dirname/manifest.plist "> Install iOS in-house App</a> </body> </html>

3. Далее загружаем этот html файл на локальный IIS (или на ваш сайт), и перейдя по этой ссылке с мобильного устройства нам будет предложено установить приложение.

После установки приложения пользователю необходимо подтвердить доверие к сертификату на устройстве.

Настройки → Общие → Управление устройствами → «Название предприятия».

тогда только пользователи смогут открыть приложение:

Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Распространение приложения iOS внутри компании (собственное приложение Enterprise Distribute iOS)



Нижняя граница

В результате 5 шагов мы создали сертификат и Provisioning Profile, собрали архив Xcode из Visual Studio 2017, получили файлы .

ipa и .

plist для распространения, а также смогли успешно установить приложение на устройство, перейдя по ссылке.

, тем самым минуя AppStore. Теги: #Разработка iOS #Разработка мобильных приложений #C++ #руководство #Visual Studio #приложение ios #приложение ios #собственно #xamarin #AppStore #visual studio 2017 #xamarin.ios #MacOS 12 #Enterprise Distribute

Вместе с данным постом часто просматривают: