
Розповсюдження власних внутрішніх програм на пристроях Apple
Пристрої Apple підтримують бездротове інсталювання власних внутрішніх програм без застосування App Store за допомогою програми Apple Enterprise Developer. Програма Apple Developer Enterprise призначена лише для внутрішнього використання та розповсюдження власних програм у певних випадках використання, які не можуть бути належним чином вирішені загальнодоступними програмами в App Store, власними програмами через Apple School Manager або Apple Business Manager, розповсюдженням Ad Hoc або бета-тестуванням через TestFlight.
Щоб отримати докладнішу інформацію, перегляньте Програму Apple Developer Enterprise.
Профіль ініціалізації
Щоб розповсюджувати власні внутрішні програми на пристрої iPhone, iPad, Apple TV, Apple Vision Pro і Apple Watch, потрібно мати профіль ініціалізації. Профілі ініціалізації можна інсталювати та керувати ними за допомогою служби керування пристроями, а потім користувач може викачати й інсталювати його через цю службу або оновлення програми.
До того, як закінчиться термін дії профілю ініціалізації, створіть новий профіль для програми на вебсайті для розробників iOS, вебсайті для розробників iPadOS або вебсайті для розробників visionOS. Експортуйте пакет нової програми (файл .ipa) з новим профілем ініціалізації для користувачів, які інсталюють програму вперше.
Якщо у вас уже є програма, ви можете призначити наступну версію, яка включатиме профайл ініціалізації. У такий спосіб користувачі не відволікатимуться під час роботи з програмою. Інакше можна розповсюдити лише новий файл .mobileprovision, щоб користувачі могли самостійно знову інсталювати програму. Новий файл ініціалізації перезаписує вже наявний в архіві програми.
Термін дії профайлів ініціалізації розповсюдження закінчується через 12 місяців після випуску. Після завершення терміну дії профайл вилучається, і програма запускатися не буде.
Ініціалізування та керування користувачами для розробників власних внутрішніх програм
Розробники власних внутрішніх програм мають доступ до API Apple для ініціалізування користувачів і керування ними, що дає змогу автоматизовувати завдання на кшталт ініціалізації генерування профілів та інтеграції керування користувачів у наявні робочі процеси.
Більше інформації наведено в статті про API корпоративних програм на вебсайті для розробників Apple.
Є два способи розповсюдження власних внутрішніх програм:
Використання служби керування пристроями
за допомогою вебсайту.
Для обидвох способів потрібно підготувати програму до розповсюдження, у тому числі підготувати маніфест.
Важливо! Для пристроїв з iOS 18 та iPadOS 18 або новіших інстальовані вручну власні програми, які не використовують службу керування пристроями, вимагають обовʼязковий перезапуск пристрою для завершення погодження профілю ініціалізації.
Підготовка власної внутрішньої програми до бездротового поширення
Щоб підготувати власну внутрішню програму до бездротового розповсюдження, слід скласти заархівовану версію (файл .ipa) і файл маніфесту, який запускає бездротове розповсюдження й інсталювання програми. Створіть архів своєї програми з версіями за допомогою Xcode, а потім експортуйте її для розповсюдження в організації. Xcode використовує сертифікат поширення й містить відповідний профіль ініціалізації. Файл маніфесту це XML-файл параметрів (.plist), який використовується пристроями Apple для пошуку, викачування й інсталювання програм із вашого вебсервера. Файл маніфесту створюється програмою Xcode з використанням інформації, яка надається під час поширення архівованої програми для розповсюдження в організації. Список атрибутів і пов’язаних значень можна переглянути в розділі про команду Install Application на вебсайті розробників Apple.
Використання служби керування пристроями для розповсюдження програми
Щоб використовувати службу керування пристроями, потрібно використати підготовлений файл маніфесту та одну з наведених опцій:
Декларативне керування програмами, доступне на пристроях із iOS 17.2, iPadOS 17.2, visionOS 1.1 чи новіших версій.
Команда
InstallEnterpriseApplication(файл маніфесту або вбудований маніфест).Команда
InstallApplication(файл маніфесту)
Розповсюдження програми за допомогою вебсайту
Щоб інсталювати програми iOS, iPadOS і visionOS бездротовим чином, вони мають відповідати наведеним нижче вимогам:
Програми мають бути у форматі .ipa та побудовані за допомогою внутрішнього профілю ініціалізації.
У них має бути файл маніфесту XML.
Їх має бути викачано з вебсайту, адреса якого починається з HTTPS.
Їх має бути підписано сертифікатом, визначеним як надійний на пристрої.
Конфігурація мережі має дозволяє пристроям доступ до сервера Apple. Докладну інформацію наведено в статті Служби підтримки Apple Використання продуктів Apple у корпоративних мережах.
Для інсталювання програми користувачі мають викачати файл маніфесту з вашого вебсайту за допомогою спеціального префікса URL. URL-адресу для викачування файлу маніфесту можна розповсюдити за допомогою iMessage чи електронної пошти. Ось приклад посилання з доданим префіксом:
<a href="itms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Install App</a>
Розробка й розміщення вебсайту для розповсюдження такого типу програм — виключно ваша справа. Переконайтеся, що користувачі автентифікуються, а вебсайт доступний в інтранеті або інтернеті, залежно від ваших потреб. Вебсайт може складатися з однієї сторінки, яка веде до файлу маніфесту. Коли користувач переходить за посиланням, викачується файл маніфесту та запускає викачування й інсталяцію описаного на вебсторінці.
Дотримуйтеся таких додаткових вказівок:
Не додавайте пряме вебпосилання на архівовані програми (.ipa). Файл .ipa викачується на пристрій після того, як завантажено файл маніфесту. Хоча частина посилання URL, яка відповідає за протокол, це «itms-services», App Store до процесу не залучено.
Переконайтеся, що файл .ipa доступний через протокол HTTPS, і що сайт підписано сертифікатом, довіреним на iOS та iPadOS. Якщо в самопідписаному сертифікаті відсутній довірений якір і пристрій не може його перевірити, інсталяція не вдасться.
Завантажте ці елементи в ту частину вебсайту, до якої мають доступ автентифіковані користувачі:
Файл маніфесту (з розширенням .plist в назві)
Файл програми (з розширенням .ipa в назві)
Можливо, вам доведеться конфігурувати вебсервер, щоб файл маніфесту та файл програми передавалися правильно. Для сервера додайте типи MIME до настройок типів MIME вебслужби:
application/octet-stream ipa
text/xml plist
Для сервера Microsoft Internet Information Server (IIS) використовуйте IIS Manager, щоб додати типи MIME на сторінку властивостей сервера:
.ipa application/octet-stream
.plist text/xml
Примітка. Якщо ви створюєте портал самообслуговування, доцільно додати на початковий екран користувача вебфрагмент, який дозволить легко перейти на портал за подальшою інформацією, зокрема новими профілями конфігурації та рекомендованими програмами App Store, а також зареєструватися в службі керування пристроями.
Перевірка сертифіката
Коли користувач відкриває програму вперше, сертифікат розповсюдження схвалюється через з’єднання із сервером Apple OCSP. Якщо сертифікат відкликано, програма не запуститься. Для перевірки стану пристрій має мати доступ до ocsp.apple.com.
Відповідь сервера OCSP кешується на пристрої на період визначений сервером OCSP, — зараз цей період становить від 3 до 7 днів. Дійсність сертифіката не перевірятиметься до перезапуску пристрою і до завершення дії кешованої відповіді. Якщо в цей період буде отримано відкликання, програма не запуститься.
Ваш сертифікат розповсюдження дійсний упродовж трьох років із часу випуску або до завершення членства в програмі Apple Developer Enterprise. Щоб сертифікат не застарів, поновіть своє членство до того, як воно завершиться.
Крім того, можна мати одночасно два незалежні дійсні сертифікати розповсюдження. Другий сертифікат забезпечує період, упродовж якого можна оновити свої програми, поки не застарів перший сертифікат. Запитуючи другий сертифікат поширення, не відкличте перший сертифікат.
ЗАСТЕРЕЖЕННЯ. Відкликання сертифіката розповсюдження зробить недійсними всі програми, підписані за його допомогою. Відкликання сертифіката має бути останнім засобом, — тільки якщо ви точно втратили приватний ключ або підозрюєте, що сертифікат скомпрометовано.
Оновлення власних внутрішніх програм вручну
Для власних внутрішніх програм, що розповсюджуються за допомогою служби керування пристроями, можна використовувати механізм керованих програм для оновлення програм.
Якщо користувачі викачували програми вручну, вони не оновлюються автоматично. Коли з’являється нова версія, повідомте користувачів про оновлення та надайте вказівки щодо інсталювання програми. Можна мати програму, яка буде перевіряти наявність оновлень і повідомляти користувачів про це. Сповіщення має містити посилання «itms-services». Для інсталювання оновлення також можна скористатися з команди openURL у програмі.
Якщо ви хочете, щоб користувачі й далі зберігали дані програми на своїх пристроях, переконайтеся, що нова версія використовує той самий ідентифікатор пакета, що й попередня, і дайте вказівку користувачам не видаляти попередню версію перед тим, як інсталювати нову.
Усунення неполадок із бездротовим розповсюдженням програм
Якщо бездротове розповсюдження не вдається з повідомленням «не вдалося викачати»:
Переконайтеся, що програму підписано правильно. Перевірте це, інсталювавши її на пристрій за допомогою Apple Configurator для Mac, і подивіться, чи виникнуть помилки.
Переконайтеся, що посилання на файл маніфесту правильне, а файл доступний для вебкористувачів.
Переконайтеся, що посилання URL на файл .ipa (у файлі маніфесту) правильне, а файл .ipa доступний для вебкористувачів через HTTPS.