Розповсюдження власних внутрішніх програм на пристроях Apple
Пристрої Apple підтримують бездротову інсталяцію власних внутрішніх програм без використання Mac чи App Store. Перед тим, як розповсюджувати ці програми, потрібно мати профіль ініціалізації. Профілі ініціалізації можна інсталювати та керувати ними за допомогою керування мобільними пристроями (MDM), а потім користувач може викачати й інсталювати його через MDM або оновлення програми. Щоб створити новий профайл ініціалізації для програми до того, як термін дії попереднього завершиться, перегляньте вебсайт розробників Apple. Якщо йдеться про програму для iOS або iPadOS, експортуйте пакет нової програми (файл .ipa) з новим профілем ініціалізації для користувачів, які інсталюють програму вперше.
Ініціалізування та керування користувачами для розробників нових власних внутрішніх програм
Розробники власних внутрішніх програм мають доступ до API Apple для ініціалізування користувачів і керування ними, що дає змогу автоматизовувати завдання на кшталт ініціалізації генерування профілів та інтеграції керування користувачів у наявні робочі процеси.
Є два способи розповсюдження власних внутрішніх програм:
за допомогою MDM;
за допомогою вебсайту.
Для обидвох способів потрібно підготувати програму до розповсюдження, у тому числі підготувати маніфест.
Важливо! В iOS 18 та iPadOS 18 або новіших інстальовані вручну власні програми, які не використовують MDM, обумовлюють обовʼязковий перезапуск пристрою для завершення погодження профілю ініціалізації.
Підготовка власної внутрішньої програми до бездротового поширення
Щоб підготувати власну внутрішню програму до бездротового розповсюдження, слід скласти заархівовану версію (файл .ipa) і файл маніфесту, який запускає бездротове розповсюдження й інсталювання програми. Створіть архів своєї програми з версіями за допомогою Xcode, а потім експортуйте її для розповсюдження в організації. Xcode використовує сертифікат поширення й містить відповідний профіль ініціалізації. Файл маніфесту це XML-файл параметрів (.plist), який використовується пристроями Apple для пошуку, викачування й інсталювання програм із вашого вебсервера. Файл маніфесту створюється програмою Xcode з використанням інформації, яка надається під час поширення архівованої програми для розповсюдження в організації. Список атрибутів і пов’язаних значень можна переглянути в розділі про команду Install Application на вебсайті розробників Apple.
Керування власними внутрішніми програмами для комп’ютерів Mac
У macOS 14 або новіших ви можете керувати більшою кількістю програм. Якщо пакет містить понад один комплект програм, усі програми, розгорнуті в /Програми є керованими. Щоб залишатися керованими, програми мають залишатися в папці «/Програми».
За допомогою MDM організація може визначити, чи зберігати або вилучати керовані програми у разі вилучення реєстрації, а також видаляти програми через MDM. У такий спосіб комплект програм вилучається з /Програми. Усі дані, інстальовані пакетом, та пов’язані скрипти в інших програмах залишаться.
Крім того дані керованих програм розміщуються на окремому томі під час реєстрації користувача або реєстрації пристрою за обліковим записом.
Ініціалізування та керування користувачами для розробників нових власних внутрішніх програм
Розробники власних внутрішніх програм мають доступ до API Apple для ініціалізування користувачів і керування ними, що дає змогу автоматизовувати завдання на кшталт ініціалізації генерування профілів та інтеграції керування користувачів у наявні робочі процеси.
Більше інформації наведено в статті про API корпоративних програм на вебсайті для розробників Apple.
Отримання пакетного ID для програми на Mac
Щоб отримати ідентифікатор пакета (відомий ще як bundle ID), клацніть програму, утримуючи Control, а тоді виберіть «Показати вміст пакета». Відкрийте папку «Вміст», а тоді відкрийте файл Info.plist. Якщо сумніваєтеся, якою програмою відкривати файл, скористайтеся Мініредактором. За допомогою пошуку в програмі знайдіть CFBundleIdentifier
у файлі, а тоді скопіюйте рядок під цією стрічкою. Наприклад, com.betterbag.applicationname. Вставте ідентифікатор пакета програми в текстовий файл або нотатку, щоб можна було скористатися ним згодом.
Розповсюдження програми за допомогою MDM
Щоб скористатися MDM, застосуйте маніфест із командою InstallEnterpriseApplication
(файл маніфесту або вбудований маніфест) або InstallApplication
(файл маніфесту). Система macOS також підтримує sha256 і прикріплення сертифіката. Нижче наведено додаткові опції під час використання цих команд у різних операційних системах.
На пристроях під керуванням iOS 17.2 або iPadOS 17.2 чи новіших можна також використовувати декларативне конфігурування програми.
На пристроях із macOS ви можете використовувати таке:
Команда
InstallApplication
для масових придбань та інсталювань .pkg.Команда
InstallEnterpriseApplication
лише для інсталювань .pkg.
Більше інформації наведено в розділі Список команд MDM.
Розповсюдження програми за допомогою вебсайту
Щоб інсталювати програми iOS, iPadOS і visionOS 1.1 бездротовим чином, вони мають відповідати наведеним нижче вимогам.
Програми мають бути у форматі .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, а також зареєструватися в рішенні MDM.
Перевірка сертифіката
Коли користувач відкриває програму вперше, сертифікат розповсюдження схвалюється через з’єднання із сервером Apple OCSP. Якщо сертифікат відкликано, програма не запуститься. Для перевірки стану пристрій має мати доступ до ocsp.apple.com.
Відповідь сервера OCSP кешується на пристрої на період визначений сервером OCSP, — зараз цей період становить від 3 до 7 днів. Дійсність сертифіката не перевірятиметься до перезапуску пристрою і до завершення дії кешованої відповіді. Якщо в цей період буде отримано відкликання, програма не запуститься.
ЗАСТЕРЕЖЕННЯ. Відкликання сертифіката розповсюдження зробить недійсними всі програми, підписані за його допомогою. Відкликання сертифіката має бути останнім засобом, — тільки якщо ви точно втратили приватний ключ або підозрюєте, що сертифікат скомпрометовано.
Постачання оновлених версій власних внутрішніх програм
Програми, які ви розповсюджуєте самостійно, автоматично не оновлюються. Коли з’являється нова версія, повідомте користувачів про оновлення та надайте вказівки щодо інсталювання програми. Можна мати програму, яка буде перевіряти наявність оновлень і повідомляти користувачів про це. Сповіщення має містити посилання «itms-services». Для інсталювання оновлення також можна скористатися з команди openURL у програмі.
Якщо ви хочете, щоб користувачі й далі зберігали дані програми на своїх пристроях, переконайтеся, що нова версія використовує той самий ідентифікатор пакета, що й попередня, і дайте вказівку користувачам не видаляти попередню версію перед тим, як інсталювати нову.
До того, як закінчиться термін дії профілю ініціалізації, створіть новий профіль для програми на вебсайті для розробників iOS, вебсайті для розробників iPadOS або вебсайті для розробників visionOS. Експортуйте пакет нової програми (файл .ipa) з новим профілем ініціалізації для користувачів, які інсталюють програму вперше.
Якщо у вас уже є програма, ви можете призначити наступну версію, яка включатиме профайл ініціалізації. У такий спосіб користувачі не відволікатимуться під час роботи з програмою. Інакше можна розповсюдити лише новий файл .mobileprovision, щоб користувачі могли самостійно знову інсталювати програму. Новий файл ініціалізації перезаписує вже наявний в архіві програми.
Термін дії профайлів ініціалізації розповсюдження закінчується через 12 місяців після випуску. Після завершення терміну дії профайл вилучається, і програма запускатися не буде.
Якщо термін дії сертифіката розповсюдження закінчився, програма не запускатиметься, і програму потрібно буде повторно скласти з новим сертифікатом розповсюдження. Ваш сертифікат розповсюдження дійсний упродовж трьох років із часу випуску або до завершення членства в програмі Apple Developer Enterprise. Щоб сертифікат не застарів, поновіть своє членство до того, як воно завершиться.
Крім того, можна мати одночасно два незалежні дійсні сертифікати розповсюдження. Другий сертифікат забезпечує період, упродовж якого можна оновити свої програми, поки не застарів перший сертифікат. Запитуючи другий сертифікат поширення, не відкличте перший сертифікат.
Усунення неполадок із бездротовим поширенням програми
Якщо бездротове розповсюдження не вдається з повідомленням «не вдалося викачати»:
Переконайтеся, що програму підписано правильно. Перевірте це, інсталювавши її на пристрій за допомогою Apple Configurator для Mac, і подивіться, чи виникнуть помилки.
Переконайтеся, що посилання на файл маніфесту правильне, а файл доступний для вебкористувачів.
Переконайтеся, що посилання URL на файл .ipa (у файлі маніфесту) правильне, а файл .ipa доступний для вебкористувачів через HTTPS.