![](https://habrastorage.org/files/596/56d/abb/59656dabb61b43818b780671d7e05d00.jpg)
Рано или поздно в доброй части крупных компаний возникает вопрос разработки внутреннего корпоративного мобильного приложения. В связи с этим, перед IT-специалистами встает задача проработки двух сценариев: когда нужно установить приложения на личные устройства сотрудников и когда нужно раздать устройства, являющиеся собственностью компании, для выполнения сотрудниками конкретных задач. В рамках данной статьи рассматривается работа с iOS-устройствами через OS X Server.
Введение
Сегодня при желании можно легко найти информацию по настройке OS X Server, MDM-решений и т.п. на английском языке, и в целом конфигурирование не представляет какую-то сложность. Данная статья адресована людям в русскоязычном сегменте, впервые столкнувшимся с данной задачей и желающим понять, что их ждет и насколько все сложно и страшно.
Излагаемый материал был составлен как краткое руководство к действию и за ненадобностью направлялся прямиком в Корзину, но перед тем как нажать «Очистить корзину», я подумал, что, возможно, он будет полезен кому-то еще, кто не знаком с этой темой.
Поэтому, отдельную категорию комментаторов прошу быть снисходительными ![image](https://habrastorage.org/getpro/habr/post_images/181/90a/c7f/18190ac7f4171759a18d3532aa0f0f93.gif)
![image](https://habrastorage.org/getpro/habr/post_images/181/90a/c7f/18190ac7f4171759a18d3532aa0f0f93.gif)
Постановка задачи
Итак, давайте определимся с задачами, которые перед нами поставила компания (или заказчик).
У нас есть два независимых вектора развития мобильного направления:
- Корпоративное мобильное приложение для сотрудников компании, которое они устанавливают на личные устройства, в нашем случае на iOS-девайсы. К примеру, основной функционал — это чтение новостей и календарь мероприятий;
- Узкоспециализированное мобильное приложение для отдельных категорий сотрудников, например, социологов, которые делают опросы, скажем, на улице. Им выдаются iOS-устройства специально для этих задач, и руководство, конечно, надеясь на сознательность этих людей, тем не менее, хочет исключить саму возможность нецелевого использования, как рабочего времени, так и устройств. Проще говоря, нужно запретить делать все: слушать музыку, пользоваться интернетом, устанавливать игры из магазина приложений и т.п., оставить только возможность пользоваться приложением для проведения соц. опросов;
Ликбез
Несмотря на то, что эти два направления отличаются, у них есть что-то общее, а именно — распространение приложений внутри компании, т.е. по программе Apple Developer Enterprise Program. Для неподготовленного разработчика может показаться, что это просто регистрация компании-разработчика как юридического лица, с какими-то Enterprise примочками. К сожалению, дословно суть программы звучит так «The Apple AppStore: no place to distribute enterprise apps», т.е. вступая в эту программу вы приобретаете возможность распространять iOS-приложения в обход AppStore, но теряете возможность публиковать в официальный AppStore.
Давайте теперь взглянем на вопрос распространения корпоративных мобильных приложений несколько шире и не только глазами Apple. Сегодня на рынке есть три крупных игрока — это Google, Apple и Microsoft.
Итак, как видит распространение приложений в обход магазина каждая из этих технологических компаний.
Тут все просто. Android открытая операционная система. Формируй пакет приложения (*.apk) и далее делай с ним все, что хочешь. Все что нужно — это заплатить разовый взнос в Google Play Developer Program.
Microsoft
Две программы. Для публикации в официальный магазин — небольшой разовый взнос. Для публикации в обход магазина, вы должны раз в год покупать специальный сертификат — Enterprise Mobile Code Signing, которым подписываются ваши приложения. Он, грубо говоря, как пропуск для приложения в гараж приложений смартфона — «Я VIP, мне можно устанавливаться с черного хода».
Apple
Купертиновцы, в свою очередь, видят подход к разработке мобильных приложений следующим образом.
Для публикации в официальный магазин AppStore существует Apple Developer Program в которой могут участвовать как физические, так и юридические лица, цена одна и та же. Если у вас есть потребность в публикации приложений внутри компании, т.е. не для всех, то Apple предоставляет программу Apple Developer Enterprise Program, правда в ней вы уже не сможете публиковать приложения в AppStore.
Но что, если вам нужно публиковать приложения по обоим сценариям? Или пока нет возможности зарегистрировать юридическое лицо, вы только начали делать прототип и можете зарегистрировать физическое лицо, т.е. одного разработчика.
На этот случай в классической Apple Developer Program предусмотрена возможность заливать приложения напрямую на 100 устройств различных типов (iPhone, iPad), зарегистрированных в консоли разработчика. По научному это называется AdHoc, т.е. распространение с целью тестирования.
Как ни странно, эта штука часто решает целый пласт проблем на начальных этапах и о ней мы и поговорим в рамках данной статьи.
Отлично, у нас есть прототип мобильного приложения, есть учетная запись разработчика в Apple Developer Program и огромное желание решить задачу.
Теперь перейдем к модели управления iOS устройствами. Если вы раньше пользовались iPhone или iPad, то наверняка слышали о такой штуке как Профиль. Нет, не тот профиль пользователя из SharePoint, а профиль, описывающий полномочия устройства. Например, доступ к Beta-версиям iOS. Именно, на этой штуке все и крутится в мире Apple: установка приложений, ограничение возможностей устройства, конфигурирование устройств и т.п. И как вы наверно уже поняли, мы будем этими профилями рулить. С кем-то добровольно, с кем-то принудительно.
Apple Configurator 2
Для распространения iOS-приложений в корпоративной среде необходимы два инструмента (из AppStore):
Оба инструмента могут управлять профилями, но только профили, установленные Apple Configurator 2 пользователь не сможет удалить самовольно.
Т.е. все под контролем, а именно так ![](https://habrastorage.org/r/w780q1/files/ca1/b28/d34/ca1b28d34b8342589139b42ac8f5ce53.jpg)
![](https://habrastorage.org/files/ca1/b28/d34/ca1b28d34b8342589139b42ac8f5ce53.jpg)
OS X Server, а вернее Profile Manager, входящий в его состав, необходим для удаленного конфигурирования профилей, т.к. Apple Configurator 2 работает только «по шнурку».
Таким образом, чтобы вы четко поняли схему: посредством профилей (по сути — конфигурационного файла, который летает туда-сюда) осуществляется удаленная установка приложений и конфигурирование устройств. Apple Configurator 2 позволяет гарантировать, что профиль, установленный с его помощью, не будет удален пользователем, а Profile Manager в OS X Server позволяет конфигурировать установленные профили удаленно. В первом приближении картинка такая.
Теперь, когда вы собрали мысли в кучку, осталось добавить еще пару недостающих элементов в пазл. Помимо профилей, существует еще одно звено механизма, называемое Supervising, которое предоставляет Apple Configurator 2. Оно заключается в сбросе устройства к заводским настройкам, жесткое конфигурирование на использование вашего Profile Manager, и запрет на хард-ресет устройства. Также в нем поддерживается функция снятия образов памяти, проще говоря, бекапов.
И последнее, думаю вы уже подумали, а как же тогда обычным сотрудникам получить корпоративные приложения без всех этих страшных сбросов и конфигурировании? Для них в рамках Profile Manager предоставляется веб-сайт, по умолчанию называющийся «MyDevices», с которого они могут скачать профиль,
Хорошо, вернемся к Apple Configurator 2.
Так он выглядит в AppStore ![](https://habrastorage.org/r/w780q1/files/7a4/c3e/af7/7a4c3eaf76a245e78fed2238008265dc.jpg)
![](https://habrastorage.org/files/7a4/c3e/af7/7a4c3eaf76a245e78fed2238008265dc.jpg)
Еще раз перечислим его основные возможности:
- Сброс iOS-устройства к заводским настройкам;
- Создание профилей устройства;
- Создание Blueprint образов;
- Установка iOS-устройства в Supervised-режим, который позволяет контролировать устройство (сбрасывать и т.п.) только с этого компьютера;
- Создание бэкапов iOS-устройств;
В этом списке появилось новое слово Blueprint, и мы до сих пор не поняли, какие именно ограничения мы можем задавать через Профили. Давайте поговорим об этом.
Профили в Apple Configurator 2
Профили служат для установки на устройство требуемых параметров и ограничений.
Например, можно в одном профиле установить:
- Настройки для подключения к WiFi;
- Ограничения на использование мультимедийных возможностей устройства;
- Запрет на установку приложений из AppStore;
- Фильтр на доступные веб-сайты, либо запретить использование браузера Safari;
На одном устройстве может быть установлено несколько профилей.
Список доступных настроек через профиль
Общая информация об устройстве![](https://habrastorage.org/r/w1560/files/7ba/b57/273/7bab5727361247159da729f7583b3fc5.png)
![](https://habrastorage.org/files/7ba/b57/273/7bab5727361247159da729f7583b3fc5.png)
Пароль на экране брокировки![](https://habrastorage.org/r/w1560/files/56b/ea2/1f8/56bea21f8f234792b80b9dce5aa130bf.png)
![](https://habrastorage.org/files/56b/ea2/1f8/56bea21f8f234792b80b9dce5aa130bf.png)
Ограничения на функциональность устройства![](https://habrastorage.org/r/w1560/files/c26/ad9/fb6/c26ad9fb69ce45cd85a2c0bf7b8aee19.png)
![](https://habrastorage.org/r/w1560/files/e60/6a0/22e/e606a022eb364b8490213ba998a9276d.png)
![](https://habrastorage.org/files/c26/ad9/fb6/c26ad9fb69ce45cd85a2c0bf7b8aee19.png)
![](https://habrastorage.org/files/e60/6a0/22e/e606a022eb364b8490213ba998a9276d.png)
Ограничения на использование приложений![](https://habrastorage.org/r/w1560/files/e81/760/389/e81760389f7f4f1694055f0dcb24b53b.png)
![](https://habrastorage.org/files/e81/760/389/e81760389f7f4f1694055f0dcb24b53b.png)
Ограничения на использование медиа-контента![](https://habrastorage.org/r/w1560/files/0f2/138/2b8/0f21382b88be4968b246971150f9f731.png)
![](https://habrastorage.org/files/0f2/138/2b8/0f21382b88be4968b246971150f9f731.png)
Настройки глобального прокси-сервера![](https://habrastorage.org/r/w1560/files/c27/964/c2a/c27964c2a9ca4ea69835247033b50656.png)
![](https://habrastorage.org/files/c27/964/c2a/c27964c2a9ca4ea69835247033b50656.png)
Список разрешенных сайтов![](https://habrastorage.org/r/w1560/files/be3/f48/e9d/be3f48e9d2864dce8e4af892a6fe5358.png)
![](https://habrastorage.org/files/be3/f48/e9d/be3f48e9d2864dce8e4af892a6fe5358.png)
Политика в отношении доменов![](https://habrastorage.org/r/w1560/files/f07/5bb/aa5/f075bbaa502c4577912bec61fdefd950.png)
![](https://habrastorage.org/files/f07/5bb/aa5/f075bbaa502c4577912bec61fdefd950.png)
Доступ к WiFi точкам![](https://habrastorage.org/r/w1560/files/9e1/1c0/388/9e11c03886694fed8efed2a9a163f2fb.png)
![](https://habrastorage.org/files/9e1/1c0/388/9e11c03886694fed8efed2a9a163f2fb.png)
Настройки VPN![](https://habrastorage.org/r/w1560/files/9eb/201/281/9eb20128191c41eb9641c635e3e46117.png)
![](https://habrastorage.org/files/9eb/201/281/9eb20128191c41eb9641c635e3e46117.png)
Настройки AirPlay![](https://habrastorage.org/r/w1560/files/f81/315/fa2/f81315fa2f374b0b91f16a1877d77c23.png)
![](https://habrastorage.org/files/f81/315/fa2/f81315fa2f374b0b91f16a1877d77c23.png)
Настройки AirPrint![](https://habrastorage.org/r/w1560/files/2dd/12b/202/2dd12b202c074d42a8deec978ca96139.png)
![](https://habrastorage.org/files/2dd/12b/202/2dd12b202c074d42a8deec978ca96139.png)
Настройки учетных записей электронной почты![](https://habrastorage.org/r/w1560/files/2da/318/b44/2da318b444654b699b6da3da478a6325.png)
![](https://habrastorage.org/files/2da/318/b44/2da318b444654b699b6da3da478a6325.png)
Настройки Exchange ActiveSync![](https://habrastorage.org/r/w1560/files/9d7/0f9/c16/9d70f9c169ce42749bd0b8c03b2bb5ba.png)
![](https://habrastorage.org/files/9d7/0f9/c16/9d70f9c169ce42749bd0b8c03b2bb5ba.png)
Настройки LDAP![](https://habrastorage.org/r/w1560/files/d9f/55b/8b7/d9f55b8b777841c298ddccfc1537b1b8.png)
![](https://habrastorage.org/files/d9f/55b/8b7/d9f55b8b777841c298ddccfc1537b1b8.png)
Синхронизация календарей![](https://habrastorage.org/r/w1560/files/0dc/bf6/8d8/0dcbf68d83794d5280cb05c581a1fcdb.png)
![](https://habrastorage.org/files/0dc/bf6/8d8/0dcbf68d83794d5280cb05c581a1fcdb.png)
Синхронизация контактов![](https://habrastorage.org/r/w1560/files/084/26d/1a9/08426d1a92164c0899b4c1cb1e5e3ee3.png)
![](https://habrastorage.org/files/084/26d/1a9/08426d1a92164c0899b4c1cb1e5e3ee3.png)
Подписка на календари![](https://habrastorage.org/r/w1560/files/97d/aee/d38/97daeed38a3e4ea28b9e4cbc6cca4884.png)
![](https://habrastorage.org/files/97d/aee/d38/97daeed38a3e4ea28b9e4cbc6cca4884.png)
Иконки быстрого перехода на веб-сайт![](https://habrastorage.org/r/w1560/files/bfb/35c/faa/bfb35cfaad1c489489df90bdcb87dfcd.png)
![](https://habrastorage.org/files/bfb/35c/faa/bfb35cfaad1c489489df90bdcb87dfcd.png)
Шрифты![](https://habrastorage.org/r/w1560/files/172/ea7/72d/172ea772d5f0456f9e8f2b96ca67fd3a.png)
![](https://habrastorage.org/files/172/ea7/72d/172ea772d5f0456f9e8f2b96ca67fd3a.png)
Сертификаты![](https://habrastorage.org/r/w1560/files/c92/681/7a1/c926817a1c184ef1bde749a8d93007c2.png)
![](https://habrastorage.org/files/c92/681/7a1/c926817a1c184ef1bde749a8d93007c2.png)
Настройка SCEP-сервера![](https://habrastorage.org/r/w1560/files/0eb/227/ddf/0eb227ddfca048e6b14e90f382c25517.png)
![](https://habrastorage.org/files/0eb/227/ddf/0eb227ddfca048e6b14e90f382c25517.png)
Настройки APN-точек для 3G![](https://habrastorage.org/r/w1560/files/932/c76/6cb/932c766cbcbf42d4a0a226a8399e2f53.png)
![](https://habrastorage.org/r/w1560/files/ffe/4a7/ab7/ffe4a7ab721340f6ae82fae82aef43e1.png)
![](https://habrastorage.org/files/932/c76/6cb/932c766cbcbf42d4a0a226a8399e2f53.png)
![](https://habrastorage.org/files/ffe/4a7/ab7/ffe4a7ab721340f6ae82fae82aef43e1.png)
Blueprints в Apple Configurator 2
Blueprints — это быстрые «образы» желаемых настроек и приложений, которые можно применить к подключенному устройству в один клик.
Работа с Blueprints
Создание Blueprint
![](https://habrastorage.org/r/w1560/files/ccc/d20/344/cccd20344127400c9c45f2f4a0a1cef7.png)
![](https://habrastorage.org/r/w1560/files/9ba/2f0/037/9ba2f0037ca64176876c04bd6603468f.png)
Выбор типа устройства
![](https://habrastorage.org/r/w1560/files/126/b8c/aeb/126b8caeb65a437aaa275b1b2e28354b.png)
Добавление нужных корпоративных приложений в образ
![](https://habrastorage.org/r/w1560/files/763/0c5/ea8/7630c5ea80644305ba242234989d8c96.png)
Добавить *.ipa -пакет приложения
![](https://habrastorage.org/r/w1560/files/f9b/533/1f0/f9b5331f0bb84b48a8878de64e4811ba.png)
Добавление профилей
![](https://habrastorage.org/r/w1560/files/2b1/af3/ae1/2b1af3ae1ba1479c95b0a4d3e81f630c.png)
![](https://habrastorage.org/files/ccc/d20/344/cccd20344127400c9c45f2f4a0a1cef7.png)
![](https://habrastorage.org/files/9ba/2f0/037/9ba2f0037ca64176876c04bd6603468f.png)
Выбор типа устройства
![](https://habrastorage.org/files/126/b8c/aeb/126b8caeb65a437aaa275b1b2e28354b.png)
Добавление нужных корпоративных приложений в образ
![](https://habrastorage.org/files/763/0c5/ea8/7630c5ea80644305ba242234989d8c96.png)
Добавить *.ipa -пакет приложения
![](https://habrastorage.org/files/f9b/533/1f0/f9b5331f0bb84b48a8878de64e4811ba.png)
Добавление профилей
![](https://habrastorage.org/files/2b1/af3/ae1/2b1af3ae1ba1479c95b0a4d3e81f630c.png)
Хорошо, надеюсь вы получили общее представление о базовых средствах конфигурирования iOS-устройств. Самое время перейти к более продвинутым, и соответственно, платным инструментам.
Apple OS X Server
OS X Server — это приложение, до 2014 года предустановливаемое на топовые версии компьютеров Apple Mac mini. В настоящее время распространяется как отдельное приложение через AppStore и доступно для установки на любые компьютеры Apple.
Представляет из себя набор служб для обслуживания парка Apple устройств, а также удаленного управления iOS- и OSX- устройствами.
Так он выглядит в AppStore ![](https://habrastorage.org/r/w780q1/files/f7a/9ca/4ca/f7a9ca4caf074c699b806dedd0469358.jpg)
![](https://habrastorage.org/files/f7a/9ca/4ca/f7a9ca4caf074c699b806dedd0469358.jpg)
Основные возможности:
- Администрирование пользователей в рамках Open Directory (возможна интеграция с Active Directory);
- Синхронизация календарей;
- Синхронизация контактов;
- Обмен файлами (File Sharing);
- Почтовый сервер;
- Групповые чаты пользователей;
- Менеджер профилей для удаленного управления iOS и OSX устройствами;
- Сервер TimeMachine (бекапы);
- VPN;
- Хостинг веб-сайтов на PHP и Python;
- CMS Wiki;
- Сервер XCode для непрерывной интеграции;
- DHCP сервер;
- DNS сервер;
- FTP сервер;
Синхронизация OS X Server с Active Directory
Конечно, я не мог пройти мимо Active Directory, так как мы работаем в корпоративном сегменте, и, как минимум, пару слов я обязан сказать на эту тему. Подобно Microsoft, Apple работает со своей службой каталогов — Open Directory, которая концептуально не отличается от Active Directory.
Для интеграции с Active Directory используется механизм «связывания» (Binding). Настраивается он достаточно просто, однако, не отличается железной стабильностью (на разных комбинациях версий Windows Server и OS X Server разный результат, т.е. можете потерять связь).
Настройка синхронизации с Active Directory![](https://habrastorage.org/r/w1560/files/adb/374/07f/adb37407fc1b4c87b1c15c6ab9952594.png)
![](https://habrastorage.org/r/w1560/files/c1a/948/297/c1a94829796349dc92712662e54ab07d.png)
![](https://habrastorage.org/r/w1560/files/534/b27/0c8/534b270c80a1419680efa92a5e7294cc.png)
![](https://habrastorage.org/r/w1560/files/59c/37c/888/59c37c88832d41a897061f351d1e4c2d.png)
![](https://habrastorage.org/r/w1560/files/04a/770/465/04a7704655a14dd18e029bb640e333a4.png)
![](https://habrastorage.org/r/w1560/files/027/520/fb6/027520fb65d64abaa0223150067b6ea7.png)
![](https://habrastorage.org/r/w1560/files/27d/cba/f6a/27dcbaf6a0204366a17c8f275e8886c2.png)
![](https://habrastorage.org/r/w1560/files/781/575/09b/78157509b8e54613bc74f862bae15bce.png)
![](https://habrastorage.org/files/adb/374/07f/adb37407fc1b4c87b1c15c6ab9952594.png)
![](https://habrastorage.org/files/c1a/948/297/c1a94829796349dc92712662e54ab07d.png)
![](https://habrastorage.org/files/534/b27/0c8/534b270c80a1419680efa92a5e7294cc.png)
![](https://habrastorage.org/files/59c/37c/888/59c37c88832d41a897061f351d1e4c2d.png)
![](https://habrastorage.org/files/04a/770/465/04a7704655a14dd18e029bb640e333a4.png)
![](https://habrastorage.org/files/027/520/fb6/027520fb65d64abaa0223150067b6ea7.png)
![](https://habrastorage.org/files/27d/cba/f6a/27dcbaf6a0204366a17c8f275e8886c2.png)
![](https://habrastorage.org/files/781/575/09b/78157509b8e54613bc74f862bae15bce.png)
Прекрасно, теперь вы в курсе всех основных терминов и принципов. Можем приступать к настройке механизмов распространения приложений внутри компании и конфигурирования iOS-устройств.
Алгоритм действий для настройки инфраструктуры конфигурирования iOS-устройств и распространения приложений
1. Устанавливаем Apple Configurator 2 из AppStore.
2. Устанавливаем Apple OS X Server из AppStore.
3. Создаем профиль с настройками WiFi для iOS-устройства через Apple Configurator 2, если сотрудники должны пользоваться определенной закрытой корпоративной сетью, к которой мы не хотим давать им пароль.
Подробнее ![](https://habrastorage.org/r/w1560/files/35a/b25/db7/35ab25db71e24bf18e10d05e77ca1df6.png)
Указываем пароль, который нужно ввести, чтобы удалить профиль. Это один из возможных вариантов. Можем вообще запретить удаление.
![](https://habrastorage.org/r/w1560/files/f70/c70/6da/f70c706dafaa4e66b09cc1f4016dcd32.png)
![](https://habrastorage.org/r/w1560/files/6ed/4f0/7e3/6ed4f07e3bc042e2be9f3e0838f35d3f.png)
![](https://habrastorage.org/r/w1560/files/875/0e9/747/8750e974704544729d455bce4adac52f.png)
![](https://habrastorage.org/files/35a/b25/db7/35ab25db71e24bf18e10d05e77ca1df6.png)
Указываем пароль, который нужно ввести, чтобы удалить профиль. Это один из возможных вариантов. Можем вообще запретить удаление.
![](https://habrastorage.org/files/f70/c70/6da/f70c706dafaa4e66b09cc1f4016dcd32.png)
![](https://habrastorage.org/files/6ed/4f0/7e3/6ed4f07e3bc042e2be9f3e0838f35d3f.png)
![](https://habrastorage.org/files/875/0e9/747/8750e974704544729d455bce4adac52f.png)
4. Перейдем к настройке OS X Server. Зададим имя хоста, доступность из сетей и параметры удаленного доступа. Это начальное конфигурирование нашего сервера.
Подробнее ![](https://habrastorage.org/r/w1560/files/2f2/19f/78c/2f219f78cb0a4f029b97b2548ee7c05f.png)
![](https://habrastorage.org/r/w1560/files/6d3/f9f/0ed/6d3f9f0ed0ee4e338aadd68d3ba1f1b3.png)
![](https://habrastorage.org/r/w1560/files/9ff/923/1fa/9ff9231fac564dffb38f40f6256e9c8e.png)
![](https://habrastorage.org/r/w1560/files/bc1/38e/a54/bc138ea54e0e4b2ea64aee8b2d02a4e4.png)
![](https://habrastorage.org/r/w1560/files/08c/1b8/8a2/08c1b88a251449a7ae146fb80aa478be.png)
![](https://habrastorage.org/r/w1560/files/7c3/4fc/c71/7c34fcc710f846e982cdf0f2852edc25.png)
![](https://habrastorage.org/files/2f2/19f/78c/2f219f78cb0a4f029b97b2548ee7c05f.png)
![](https://habrastorage.org/files/6d3/f9f/0ed/6d3f9f0ed0ee4e338aadd68d3ba1f1b3.png)
![](https://habrastorage.org/files/9ff/923/1fa/9ff9231fac564dffb38f40f6256e9c8e.png)
![](https://habrastorage.org/files/bc1/38e/a54/bc138ea54e0e4b2ea64aee8b2d02a4e4.png)
![](https://habrastorage.org/files/08c/1b8/8a2/08c1b88a251449a7ae146fb80aa478be.png)
![](https://habrastorage.org/files/7c3/4fc/c71/7c34fcc710f846e982cdf0f2852edc25.png)
5. Настроим Open Directory в OS X Server, чтобы далее хранить в ней пользователей.
Подробнее ![](https://habrastorage.org/r/w1560/files/662/c8a/e64/662c8ae649284e89a054fae392f7a62d.png)
![](https://habrastorage.org/r/w1560/files/354/7fb/6af/3547fb6af4214405b031ef7bad248fe3.png)
![](https://habrastorage.org/r/w1560/files/703/167/0cf/7031670cfe524c9fbdd1325285fe1c80.png)
![](https://habrastorage.org/files/662/c8a/e64/662c8ae649284e89a054fae392f7a62d.png)
![](https://habrastorage.org/files/354/7fb/6af/3547fb6af4214405b031ef7bad248fe3.png)
![](https://habrastorage.org/files/703/167/0cf/7031670cfe524c9fbdd1325285fe1c80.png)
6. Создадим пользователей в OS X Server, или синхронизируем сервер с Active Directory. Нам потребуется еще один администратор и простой пользователь (он же — сотрудник).
Подробнее ![](https://habrastorage.org/r/w1560/files/a54/0df/50d/a540df50dd8d42ab9f0c9c46089199b2.png)
![](https://habrastorage.org/r/w1560/files/b5d/209/54e/b5d20954ed924345bc10b5444434b132.png)
![](https://habrastorage.org/r/w1560/files/00a/d19/7a4/00ad197a4cb24bb4848d7dc17c23a6a9.png)
![](https://habrastorage.org/r/w1560/files/7ff/221/f04/7ff221f041ec47e3b0f1cf6a84659129.png)
![](https://habrastorage.org/files/a54/0df/50d/a540df50dd8d42ab9f0c9c46089199b2.png)
![](https://habrastorage.org/files/b5d/209/54e/b5d20954ed924345bc10b5444434b132.png)
![](https://habrastorage.org/files/00a/d19/7a4/00ad197a4cb24bb4848d7dc17c23a6a9.png)
![](https://habrastorage.org/files/7ff/221/f04/7ff221f041ec47e3b0f1cf6a84659129.png)
7. Создадим группы пользователей (по бригадам/отделам/подразделениям) и распределим пользователей по этим группам в OS X Server. Это понадобится нам для конфигурирования групп устройств.
Подробнее ![](https://habrastorage.org/r/w1560/files/941/553/f13/941553f1378c477a9fab3f1deaa68ba1.png)
![](https://habrastorage.org/r/w1560/files/0d8/e4c/47d/0d8e4c47d50145daaff3ba3cbbe8dbcb.png)
![](https://habrastorage.org/r/w1560/files/b8e/d2b/6ec/b8ed2b6ec3cc4fdaa4b71a0e5f9dd424.png)
![](https://habrastorage.org/r/w1560/files/6d5/76b/bd2/6d576bbd2e524acdb3e20c8d7609dfc1.png)
![](https://habrastorage.org/r/w1560/files/ea1/cdf/4d8/ea1cdf4d85554433899ecb5b259c09d4.png)
![](https://habrastorage.org/r/w1560/files/d65/5c1/148/d655c114859d4460b91c22371d3ada76.png)
![](https://habrastorage.org/files/941/553/f13/941553f1378c477a9fab3f1deaa68ba1.png)
![](https://habrastorage.org/files/0d8/e4c/47d/0d8e4c47d50145daaff3ba3cbbe8dbcb.png)
![](https://habrastorage.org/files/b8e/d2b/6ec/b8ed2b6ec3cc4fdaa4b71a0e5f9dd424.png)
![](https://habrastorage.org/files/6d5/76b/bd2/6d576bbd2e524acdb3e20c8d7609dfc1.png)
![](https://habrastorage.org/files/ea1/cdf/4d8/ea1cdf4d85554433899ecb5b259c09d4.png)
![](https://habrastorage.org/files/d65/5c1/148/d655c114859d4460b91c22371d3ada76.png)
8. Включим Apple Push Notifications в OS X Server.
Подробнее
Включение Apple Push Notifications необходимо для управления устройствами через интернет, так как через push-уведомления доставляются команды от OS X сервера.
![](https://habrastorage.org/r/w1560/files/6c3/a31/905/6c3a31905f8a473ca3a0b2ae887cbe1d.png)
Здесь нам уже понадобится учетная запись нашего разработчика, с активной Apple Developer Program.
![](https://habrastorage.org/r/w1560/files/79a/bb9/3d9/79abb93d9b4744d9bef4d98a04777428.png)
![](https://habrastorage.org/r/w1560/files/8dd/5fa/c7e/8dd5fac7ef954a16a3f0495b64fb1f1b.png)
![](https://habrastorage.org/files/6c3/a31/905/6c3a31905f8a473ca3a0b2ae887cbe1d.png)
Здесь нам уже понадобится учетная запись нашего разработчика, с активной Apple Developer Program.
![](https://habrastorage.org/files/79a/bb9/3d9/79abb93d9b4744d9bef4d98a04777428.png)
![](https://habrastorage.org/files/8dd/5fa/c7e/8dd5fac7ef954a16a3f0495b64fb1f1b.png)
9. Настроим синхронизацию контактов в OS X Server. Это опционально, если вы не планируете вести общий список контактов между сотрудниками.
Подробнее ![](https://habrastorage.org/r/w1560/files/9f0/1fd/145/9f01fd145c3f450885830939bda324e0.png)
![](https://habrastorage.org/r/w1560/files/ef6/098/ae5/ef6098ae537744cf84622c26c025bac5.png)
![](https://habrastorage.org/files/9f0/1fd/145/9f01fd145c3f450885830939bda324e0.png)
![](https://habrastorage.org/files/ef6/098/ae5/ef6098ae537744cf84622c26c025bac5.png)
10. Теперь самое интересное. Настроим менеджер профилей в OS X Server.
Подробнее
Profile Manager позволяет централизованно администрировать и управлять зарегистрированными мобильными устройствами, работающими под OS X 10.7 и выше или iOS 4 и выше.
Следует отметить, что Apple предоставляет управление API своих устройств сторонним разработчикам MDM-решений, чтобы использовать их опыт.
Как правило эти системы управления мобильными устройствами (MDM — Mobile Device Management) имеют больше возможностей для настройки.
Для осуществления инициируемой со стороны сервера загрузки настроек, программного обеспечения понадобится push-сервис. Push сервер является частью OS X Server (иногда push-сервис реализуется как часть MDM-решения, в этом случае push-сервис от Apple не нужен). Push сервер будет выполнять функции по загрузке команд, связанных с конфигурацией или установкой ПО мобильных устройств, взаимодействуя с магазином приложений компании Apple. Это обеспечивает выполнение срочных действий, таких как блокировка похищенных устройств или удаление информации с них.
Если планируется управление только устройствами Apple, а какие-либо специальные требования отсутствуют, то Profile Manager — оптимальное решение по соотношению стоимость/функциональность. В этом случае для централизованной загрузки настроек корпоративного ПО следует использовать Apple Push Server. А возможность установки политик на устройства, подключенные даже за периметром корпоративной сети, обеспечит Apple Push Notification Service (APNS).
![](https://habrastorage.org/r/w1560/files/a71/619/dcc/a71619dcc56f4e38b649086c0f69c2ab.png)
![](https://habrastorage.org/r/w1560/files/129/10f/7e0/12910f7e034f432c90ea008061c44a33.png)
![](https://habrastorage.org/r/w1560/files/925/d4a/6f7/925d4a6f7472474ea57f7c02162ec443.png)
![](https://habrastorage.org/r/w1560/files/6bd/7e4/260/6bd7e426011e49a7a9fd733581f15d5d.png)
![](https://habrastorage.org/r/w1560/files/5b2/471/5a7/5b24715a7bf3419eaf9f00ceb94ad5c0.png)
![](https://habrastorage.org/r/w1560/files/563/200/fa6/563200fa674643ff9cfc783afe0480e8.png)
![](https://habrastorage.org/r/w1560/files/2ed/d9b/822/2edd9b82223143fa8d3d6a88f444cea6.png)
![](https://habrastorage.org/r/w1560/files/f7c/719/232/f7c719232dca485f8ff9f94972c1b296.png)
![](https://habrastorage.org/r/w1560/files/22d/36b/e93/22d36be937a94c058a3be688a2db2268.png)
![](https://habrastorage.org/r/w1560/files/c66/93b/edb/c6693bedb883473aa98eeaa387a2abe0.png)
Сервер управления мобильными устройствами
Profile Manager позволяет централизованно администрировать и управлять зарегистрированными мобильными устройствами, работающими под OS X 10.7 и выше или iOS 4 и выше.
Следует отметить, что Apple предоставляет управление API своих устройств сторонним разработчикам MDM-решений, чтобы использовать их опыт.
Как правило эти системы управления мобильными устройствами (MDM — Mobile Device Management) имеют больше возможностей для настройки.
Для осуществления инициируемой со стороны сервера загрузки настроек, программного обеспечения понадобится push-сервис. Push сервер является частью OS X Server (иногда push-сервис реализуется как часть MDM-решения, в этом случае push-сервис от Apple не нужен). Push сервер будет выполнять функции по загрузке команд, связанных с конфигурацией или установкой ПО мобильных устройств, взаимодействуя с магазином приложений компании Apple. Это обеспечивает выполнение срочных действий, таких как блокировка похищенных устройств или удаление информации с них.
Если планируется управление только устройствами Apple, а какие-либо специальные требования отсутствуют, то Profile Manager — оптимальное решение по соотношению стоимость/функциональность. В этом случае для централизованной загрузки настроек корпоративного ПО следует использовать Apple Push Server. А возможность установки политик на устройства, подключенные даже за периметром корпоративной сети, обеспечит Apple Push Notification Service (APNS).
Алгоритм настройки менеджера профилей
![](https://habrastorage.org/files/a71/619/dcc/a71619dcc56f4e38b649086c0f69c2ab.png)
![](https://habrastorage.org/files/129/10f/7e0/12910f7e034f432c90ea008061c44a33.png)
![](https://habrastorage.org/files/925/d4a/6f7/925d4a6f7472474ea57f7c02162ec443.png)
![](https://habrastorage.org/files/6bd/7e4/260/6bd7e426011e49a7a9fd733581f15d5d.png)
![](https://habrastorage.org/files/5b2/471/5a7/5b24715a7bf3419eaf9f00ceb94ad5c0.png)
![](https://habrastorage.org/files/563/200/fa6/563200fa674643ff9cfc783afe0480e8.png)
![](https://habrastorage.org/files/2ed/d9b/822/2edd9b82223143fa8d3d6a88f444cea6.png)
![](https://habrastorage.org/files/f7c/719/232/f7c719232dca485f8ff9f94972c1b296.png)
![](https://habrastorage.org/files/22d/36b/e93/22d36be937a94c058a3be688a2db2268.png)
![](https://habrastorage.org/files/c66/93b/edb/c6693bedb883473aa98eeaa387a2abe0.png)
11. Через Profile Manager в OS X Server включим возможность привязывать iOS-устройства, настроенные в Apple Configurator 2.
Подробнее![](https://habrastorage.org/r/w1560/files/ab7/8d8/6e9/ab78d86e92204d3e9d989d47c3ea5b60.png)
![](https://habrastorage.org/r/w1560/files/a27/a4c/002/a27a4c002bdf4e318f512a189ad3776e.png)
![](https://habrastorage.org/r/w1560/files/335/d07/27b/335d0727b378453d8107a9d4e906bf0b.png)
![](https://habrastorage.org/r/w1560/files/fbc/9f3/183/fbc9f31838404ebcb0f6c6b49b5c701f.png)
![](https://habrastorage.org/files/ab7/8d8/6e9/ab78d86e92204d3e9d989d47c3ea5b60.png)
![](https://habrastorage.org/files/a27/a4c/002/a27a4c002bdf4e318f512a189ad3776e.png)
![](https://habrastorage.org/files/335/d07/27b/335d0727b378453d8107a9d4e906bf0b.png)
![](https://habrastorage.org/files/fbc/9f3/183/fbc9f31838404ebcb0f6c6b49b5c701f.png)
12. Через Profile Manager в OS X Server зададим пользователю (лучше группе пользователей) ограничения к его iOS-устройству.
Подробнее![](https://habrastorage.org/r/w1560/files/774/7f5/676/7747f56765db4c52b9a2257515be819a.png)
![](https://habrastorage.org/r/w1560/files/690/951/1ec/6909511ecfca49e7823fda6a1dbd5cbe.png)
![](https://habrastorage.org/r/w1560/files/610/1f6/ab7/6101f6ab76314db6ab52e6ca71b232e5.png)
![](https://habrastorage.org/r/w1560/files/c3e/bba/9df/c3ebba9dfcb34625b4fc8b566dff65a2.png)
![](https://habrastorage.org/r/w1560/files/e71/2af/31e/e712af31e19840c697a9099f268de185.png)
![](https://habrastorage.org/r/w1560/files/cb9/817/61a/cb981761aeb5436fad55f60b82c64af0.png)
![](https://habrastorage.org/r/w1560/files/7e5/7e1/a8e/7e57e1a8e4754c49bc443698b5454fab.png)
![](https://habrastorage.org/r/w1560/files/1cb/265/c82/1cb265c82d154172a559488088fc99eb.png)
![](https://habrastorage.org/r/w1560/files/c58/a73/2bd/c58a732bdcb74777897d25c2c0f9e812.png)
![](https://habrastorage.org/files/774/7f5/676/7747f56765db4c52b9a2257515be819a.png)
![](https://habrastorage.org/files/690/951/1ec/6909511ecfca49e7823fda6a1dbd5cbe.png)
![](https://habrastorage.org/files/610/1f6/ab7/6101f6ab76314db6ab52e6ca71b232e5.png)
![](https://habrastorage.org/files/c3e/bba/9df/c3ebba9dfcb34625b4fc8b566dff65a2.png)
![](https://habrastorage.org/files/e71/2af/31e/e712af31e19840c697a9099f268de185.png)
![](https://habrastorage.org/files/cb9/817/61a/cb981761aeb5436fad55f60b82c64af0.png)
![](https://habrastorage.org/files/7e5/7e1/a8e/7e57e1a8e4754c49bc443698b5454fab.png)
![](https://habrastorage.org/files/1cb/265/c82/1cb265c82d154172a559488088fc99eb.png)
![](https://habrastorage.org/files/c58/a73/2bd/c58a732bdcb74777897d25c2c0f9e812.png)
13. Пришло время поработать с физическим устройством. Переведем iOS-устройство в Supervised-режим через Apple Configurator 2 с принятием настроек от удаленного MDM-сервера (Mobile Device Management), которым является OS X Server.
Подробнее![](https://habrastorage.org/r/w1560/files/11b/e8f/29e/11be8f29e4ba4ab09e1c47072e0c63ab.png)
![](https://habrastorage.org/r/w1560/files/e94/e02/6cd/e94e026cd75e4c2e9af4933d1c37b6cb.png)
![](https://habrastorage.org/r/w1560/files/216/a91/d4c/216a91d4c0dd422eb27b1affa165c530.png)
![](https://habrastorage.org/r/w1560/files/612/ac1/b0d/612ac1b0dd31492892457bc5000c7d1b.png)
![](https://habrastorage.org/r/w1560/files/6fb/30d/e13/6fb30de1382f44bfb718f5159748d13f.png)
![](https://habrastorage.org/r/w1560/files/4d5/0a6/666/4d50a6666b454677a485175a49a153b9.png)
![](https://habrastorage.org/r/w1560/files/63f/9ea/082/63f9ea0827d64a339b277db15a14e538.png)
![](https://habrastorage.org/r/w1560/files/302/36a/593/30236a5933e04380afb8b4c627942c76.png)
![](https://habrastorage.org/r/w1560/files/dd0/cbb/6c5/dd0cbb6c53ad44d388b683e37d53b485.png)
![](https://habrastorage.org/r/w1560/files/16c/35c/7c4/16c35c7c48b34d3c95725660b061e7b5.png)
После перезагрузки (до принятия приветствия) iOS-устройства через Apple Configurator 2 загрузим в него созданный ранее профиль с настройками WiFi и описанием принадлежности.
![](https://habrastorage.org/r/w1560/files/67c/7ac/c8b/67c7acc8ba01465fb751d9b3284a67b6.png)
![](https://habrastorage.org/r/w1560/files/430/1c0/964/4301c0964fed4a8a97cd5ac30d1d9115.png)
![](https://habrastorage.org/r/w1560/files/686/1ce/e75/6861cee753f9409bb19da19e1d1a5420.png)
![](https://habrastorage.org/r/w1560/files/9cd/322/e54/9cd322e5486843e292d2b8796058fb31.png)
Принять приветствие на iOS-устройстве, переведенном в Supervised-режим, и залогиниться под нужным пользователем, созданным в OS X Server.
![](https://habrastorage.org/r/w1560/files/6cc/3c9/806/6cc3c9806b0544a4b22978bc5ee9a15d.png)
![](https://habrastorage.org/r/w1560/files/312/c66/bed/312c66bed5f04aeebf9f39bcbc368efd.png)
![](https://habrastorage.org/r/w1560/files/92a/ae8/dfd/92aae8dfd5dd49229a6cc95c349a0a88.png)
![](https://habrastorage.org/r/w1560/files/8ea/1bc/46f/8ea1bc46f1ef45b98ed7e46f02abaeb4.png)
![](https://habrastorage.org/r/w1560/files/52d/462/e28/52d462e28d3d4fb48c52b60ffb7fe554.png)
![](https://habrastorage.org/r/w1560/files/584/1f9/fdb/5841f9fdb58647a08da9c3e8b6b58aca.png)
![](https://habrastorage.org/r/w1560/files/59c/f86/c13/59cf86c132f54114815afcfd9d4a3457.png)
![](https://habrastorage.org/r/w1560/files/6e2/ecd/aa1/6e2ecdaa15d94bedbbfbb279d97baf0d.png)
![](https://habrastorage.org/files/11b/e8f/29e/11be8f29e4ba4ab09e1c47072e0c63ab.png)
![](https://habrastorage.org/files/e94/e02/6cd/e94e026cd75e4c2e9af4933d1c37b6cb.png)
![](https://habrastorage.org/files/216/a91/d4c/216a91d4c0dd422eb27b1affa165c530.png)
![](https://habrastorage.org/files/612/ac1/b0d/612ac1b0dd31492892457bc5000c7d1b.png)
![](https://habrastorage.org/files/6fb/30d/e13/6fb30de1382f44bfb718f5159748d13f.png)
![](https://habrastorage.org/files/4d5/0a6/666/4d50a6666b454677a485175a49a153b9.png)
![](https://habrastorage.org/files/63f/9ea/082/63f9ea0827d64a339b277db15a14e538.png)
![](https://habrastorage.org/files/302/36a/593/30236a5933e04380afb8b4c627942c76.png)
![](https://habrastorage.org/files/dd0/cbb/6c5/dd0cbb6c53ad44d388b683e37d53b485.png)
![](https://habrastorage.org/files/16c/35c/7c4/16c35c7c48b34d3c95725660b061e7b5.png)
После перезагрузки (до принятия приветствия) iOS-устройства через Apple Configurator 2 загрузим в него созданный ранее профиль с настройками WiFi и описанием принадлежности.
![](https://habrastorage.org/files/67c/7ac/c8b/67c7acc8ba01465fb751d9b3284a67b6.png)
![](https://habrastorage.org/files/430/1c0/964/4301c0964fed4a8a97cd5ac30d1d9115.png)
![](https://habrastorage.org/files/686/1ce/e75/6861cee753f9409bb19da19e1d1a5420.png)
![](https://habrastorage.org/files/9cd/322/e54/9cd322e5486843e292d2b8796058fb31.png)
Принять приветствие на iOS-устройстве, переведенном в Supervised-режим, и залогиниться под нужным пользователем, созданным в OS X Server.
![](https://habrastorage.org/files/6cc/3c9/806/6cc3c9806b0544a4b22978bc5ee9a15d.png)
![](https://habrastorage.org/files/312/c66/bed/312c66bed5f04aeebf9f39bcbc368efd.png)
![](https://habrastorage.org/files/92a/ae8/dfd/92aae8dfd5dd49229a6cc95c349a0a88.png)
![](https://habrastorage.org/files/8ea/1bc/46f/8ea1bc46f1ef45b98ed7e46f02abaeb4.png)
![](https://habrastorage.org/files/52d/462/e28/52d462e28d3d4fb48c52b60ffb7fe554.png)
![](https://habrastorage.org/files/584/1f9/fdb/5841f9fdb58647a08da9c3e8b6b58aca.png)
![](https://habrastorage.org/files/59c/f86/c13/59cf86c132f54114815afcfd9d4a3457.png)
![](https://habrastorage.org/files/6e2/ecd/aa1/6e2ecdaa15d94bedbbfbb279d97baf0d.png)
14. Добавим все iOS-устройства в учетную запись Apple-разработчика.
Подробнее
Для добавления iOS-устройства к учетной записи разработчика нам необходимо получить его уникальный номер — UDID. Его можно получить тремя способами:
Мы воспользуемся вторым вариантом, так как в данным момент работаем с Apple Configurator 2.
![](https://habrastorage.org/r/w1560/files/51b/b48/e15/51bb48e159bf42bb9d9ac22163554a9e.png)
![](https://habrastorage.org/r/w1560/files/72d/fe9/794/72dfe979417b43148dd2c8bf6091bdc2.png)
![](https://habrastorage.org/r/w1560/files/e77/905/6c3/e779056c3c2b42539e2f0a931e6c09b7.png)
![](https://habrastorage.org/r/w1560/files/f78/558/dd8/f78558dd86ee436096f6e04a92003696.png)
![](https://habrastorage.org/r/w1560/files/940/d89/53e/940d8953ecec43c2a49046ff1bc14e5c.png)
![](https://habrastorage.org/r/w1560/files/4e0/680/632/4e068063205b41baae7ba13de01b1d89.png)
![](https://habrastorage.org/r/w1560/files/b51/952/5e8/b519525e8aa5415e83cc39aeb9fef1e8.png)
![](https://habrastorage.org/r/w1560/files/23f/249/e01/23f249e014424254a13fe8efa630cfe6.png)
![](https://habrastorage.org/r/w1560/files/276/355/f98/276355f9833e493fa9fb4321ac012a80.png)
- Увидеть через iTunes;
- Увидеть через Apple Configurator 2;
- Запросить программно, через установку профиля;
Мы воспользуемся вторым вариантом, так как в данным момент работаем с Apple Configurator 2.
![](https://habrastorage.org/files/51b/b48/e15/51bb48e159bf42bb9d9ac22163554a9e.png)
![](https://habrastorage.org/files/72d/fe9/794/72dfe979417b43148dd2c8bf6091bdc2.png)
![](https://habrastorage.org/files/e77/905/6c3/e779056c3c2b42539e2f0a931e6c09b7.png)
![](https://habrastorage.org/files/f78/558/dd8/f78558dd86ee436096f6e04a92003696.png)
![](https://habrastorage.org/files/940/d89/53e/940d8953ecec43c2a49046ff1bc14e5c.png)
![](https://habrastorage.org/files/4e0/680/632/4e068063205b41baae7ba13de01b1d89.png)
![](https://habrastorage.org/files/b51/952/5e8/b519525e8aa5415e83cc39aeb9fef1e8.png)
![](https://habrastorage.org/files/23f/249/e01/23f249e014424254a13fe8efa630cfe6.png)
![](https://habrastorage.org/files/276/355/f98/276355f9833e493fa9fb4321ac012a80.png)
15. Подготовим корпоративное приложение в XCode для распространения внутри компании в XCode (Archive).
Подробнее![](https://habrastorage.org/r/w1560/files/4e8/85b/cf5/4e885bcf52a74471b8409bbaf0cbe70f.png)
![](https://habrastorage.org/r/w1560/files/ce0/88f/2cd/ce088f2cda074d56ada2bd9bb8512dc2.png)
Публиковать приложение в AppStore мы не собираемся, поэтому нажимаем Export…
![](https://habrastorage.org/r/w1560/files/548/84e/3cd/54884e3cd2154b4baf6d0df63da5cc26.png)
![](https://habrastorage.org/r/w1560/files/33f/12a/cda/33f12acda266485f866cc2a793f367d2.png)
![](https://habrastorage.org/r/w1560/files/8aa/b8e/e82/8aab8ee820114dbf8afbc919bcd9ca54.png)
![](https://habrastorage.org/r/w1560/files/822/0db/99e/8220db99ed504950b809100774afd1e7.png)
![](https://habrastorage.org/r/w1560/files/a90/070/ea4/a90070ea458f48239991a9d06b9ebd8b.png)
![](https://habrastorage.org/r/w1560/files/703/0ba/621/7030ba62139a4079990f5f92f6537d98.png)
![](https://habrastorage.org/files/4e8/85b/cf5/4e885bcf52a74471b8409bbaf0cbe70f.png)
![](https://habrastorage.org/files/ce0/88f/2cd/ce088f2cda074d56ada2bd9bb8512dc2.png)
Публиковать приложение в AppStore мы не собираемся, поэтому нажимаем Export…
![](https://habrastorage.org/files/548/84e/3cd/54884e3cd2154b4baf6d0df63da5cc26.png)
![](https://habrastorage.org/files/33f/12a/cda/33f12acda266485f866cc2a793f367d2.png)
![](https://habrastorage.org/files/8aa/b8e/e82/8aab8ee820114dbf8afbc919bcd9ca54.png)
![](https://habrastorage.org/files/822/0db/99e/8220db99ed504950b809100774afd1e7.png)
![](https://habrastorage.org/files/a90/070/ea4/a90070ea458f48239991a9d06b9ebd8b.png)
![](https://habrastorage.org/files/703/0ba/621/7030ba62139a4079990f5f92f6537d98.png)
16. Загрузим *.ipa -пакет приложения в Profile Manager в OS X Server.
Подробнее![](https://habrastorage.org/r/w1560/files/e50/188/5d4/e501885d463c4de19d11685966ad7ca9.png)
![](https://habrastorage.org/r/w1560/files/4dc/09a/af8/4dc09aaf8a014e199403b7955b20f202.png)
![](https://habrastorage.org/r/w1560/files/793/936/3c8/7939363c82f2479a8fed5c68931086d8.png)
В данном окне вы видим список корпоративных приложений, доступных для распространения.
![](https://habrastorage.org/r/w1560/files/2ca/c4e/cb2/2cac4ecb2731491aba966531435e00cd.png)
![](https://habrastorage.org/files/e50/188/5d4/e501885d463c4de19d11685966ad7ca9.png)
![](https://habrastorage.org/files/4dc/09a/af8/4dc09aaf8a014e199403b7955b20f202.png)
![](https://habrastorage.org/files/793/936/3c8/7939363c82f2479a8fed5c68931086d8.png)
В данном окне вы видим список корпоративных приложений, доступных для распространения.
![](https://habrastorage.org/files/2ca/c4e/cb2/2cac4ecb2731491aba966531435e00cd.png)
17. В Profile Manager в OS X Server укажем для нужного пользователя (лучше группы пользователей) — какие корпоративные приложения установить на его устройство. Сделаем Push приложений (начнем удаленную установку).
Подробнее
Так выглядит iOS-устройство до назначения приложений пользователю.
![](https://habrastorage.org/r/w1560/files/36d/d18/b5e/36dd18b5eb614d14b5bbb0efc2226296.png)
![](https://habrastorage.org/r/w1560/files/ef8/57c/d41/ef857cd41e6d4c3f859be5cd57c068df.png)
Добавим приложения пользователям.
![](https://habrastorage.org/r/w1560/files/471/ddc/126/471ddc1264864348b62db14202d62bb7.png)
![](https://habrastorage.org/r/w1560/files/43c/96e/93e/43c96e93e29e41ba91ab1074541f4bc1.png)
Видим статус применения настроек / установки приложений.
![](https://habrastorage.org/r/w1560/files/f14/5eb/684/f145eb684fe748838a44c156b2f92aae.png)
«Внезапно» началась установка корпоративных приложений на устройство. Пользователь не предпринимает никаких действий.
![](https://habrastorage.org/r/w1560/files/e94/235/3d0/e942353d056b408dabb9d7b0d97dad2a.png)
Установка приложений завершена.
![](https://habrastorage.org/r/w1560/files/f69/4b0/aaa/f694b0aaa3dc4f77b4f260032d548a8a.png)
![](https://habrastorage.org/files/36d/d18/b5e/36dd18b5eb614d14b5bbb0efc2226296.png)
![](https://habrastorage.org/files/ef8/57c/d41/ef857cd41e6d4c3f859be5cd57c068df.png)
Добавим приложения пользователям.
![](https://habrastorage.org/files/471/ddc/126/471ddc1264864348b62db14202d62bb7.png)
![](https://habrastorage.org/files/43c/96e/93e/43c96e93e29e41ba91ab1074541f4bc1.png)
Видим статус применения настроек / установки приложений.
![](https://habrastorage.org/files/f14/5eb/684/f145eb684fe748838a44c156b2f92aae.png)
«Внезапно» началась установка корпоративных приложений на устройство. Пользователь не предпринимает никаких действий.
![](https://habrastorage.org/files/e94/235/3d0/e942353d056b408dabb9d7b0d97dad2a.png)
Установка приложений завершена.
![](https://habrastorage.org/files/f69/4b0/aaa/f694b0aaa3dc4f77b4f260032d548a8a.png)
Настройка инфрастуктуры завершена.
Распространение приложений среди сотрудников с личными iOS-устройствами
Алгоритм действий сотрудника
Все что нужно сотруднику, это:
К сожалению, у меня не сохранились скриншоты этого процесса, ввиду его простоты, но суть вы можете уловить из этого видео (начинается с нужного момента). По научному это называется «портал самообслуживания». Почти как в заводской столовой.
- Зайти на сайт сервера;
http://os-x-server.com/mydevices
- Авторизоваться с учетной записью, созданной на OS X Server. Либо, если предусмотрены общие приложения для всех — авторизация не трубется;
- Нажать Enroll My Device. iOS-устройство отобразится в Profile Manager;
- После этого начнется установка доступных пользователю приложений.
К сожалению, у меня не сохранились скриншоты этого процесса, ввиду его простоты, но суть вы можете уловить из этого видео (начинается с нужного момента). По научному это называется «портал самообслуживания». Почти как в заводской столовой.
Послесловие
Концептуальное описание OS X Server на русском языке, хоть и немного устаревшее, советую почитать здесь.
Актуальные видео по настройке отдельных компонентов OS X Server можно посмотреть здесь.
Примечание
Описанный в статье метод распространения применим для любых приложений созданных для iOS, т.е. он идентичен для приложений, написанных на Xamarin, Cordova или нативно. Все что вам нужно — это сформировать пакет приложения *.ipa и загрузить его в Profile Manager.
Надеюсь, статья покажется полезной начинающим, или не очень, iOS-разработчикам. Успехов!