Подготовка приложений iOS для политик защиты приложений с помощью Intune App Wrapping Tool

Используйте Microsoft Intune App Wrapping Tool для iOS, чтобы включить политики защиты приложений Intune для внутренних приложений iOS без изменения кода самого приложения.

Это средство — это приложение командной строки macOS, которое создает оболочку вокруг приложения. После обработки приложения можно изменить его функциональность, развернув в нем политики защиты приложений .

Чтобы скачать средство, см. Microsoft Intune App Wrapping Tool для iOS на сайте GitHub.

Примечание.

Если у вас возникли проблемы с использованием App Wrapping Tool Intune с приложениями, отправьте запрос на помощь на сайте GitHub.

Общие предварительные требования для App Wrapping Tool

Перед запуском App Wrapping Tool необходимо выполнить некоторые общие предварительные требования:

  • Скачайте Microsoft Intune App Wrapping Tool для iOS с сайта GitHub.

  • Компьютер macOS с установленным набором инструментов Xcode версии 14.0 или более поздней.

  • Входное приложение iOS должно быть разработано и подписано вашей компанией или независимым поставщиком программного обеспечения (ISV).

    • Входной файл приложения должен иметь расширение IPA или APP.

    • Входное приложение должно быть скомпилировано для iOS 14.0 или более поздней версии.

    • Входное приложение не может быть зашифровано.

    • Входное приложение не может иметь расширенные атрибуты файла.

    • Перед обработкой с помощью App Wrapping Tool Intune для входного приложения должны быть заданы права. Права предоставляют приложению больше разрешений и возможностей, превышающих обычно предоставляемые. Инструкции см. в разделе Настройка прав приложения .

  • Убедитесь, что в системных связка ключей существуют действительные сертификаты подписи. Если у вас возникли проблемы с подписыванием кода приложения, выполните следующие действия, чтобы устранить их.
    • Сброс параметров доверия для всех связанных сертификатов
    • Установка промежуточных сертификатов в системном связка ключей и связка ключей входа
    • Удаление и повторная установка всех связанных сертификатов

Регистрация приложения с помощью идентификатора Microsoft Entra

  1. Зарегистрируйте приложения с помощью идентификатора Microsoft Entra. Дополнительные сведения см. в разделе Регистрация приложения с помощью платформа удостоверений Майкрософт.
  2. Добавьте настраиваемый URL-адрес перенаправления в параметры приложения. Дополнительные сведения см. в разделе Настройка MSAL.
  3. Предоставьте приложению доступ к службе Intune MAM. Дополнительные сведения см. в статье Предоставление приложению доступа к службе управления мобильными приложениями Intune.
  4. После внесения указанных выше изменений запустите последнюю версию средства упаковки приложений Intune. Настройка приложений для библиотеки проверки подлинности Майкрософт (MSAL). Добавьте идентификатор клиента приложения Microsoft Entra в параметры командной строки с помощью App Wrapping Tool Intune. Дополнительные сведения см. в разделе Параметры командной строки.

Примечание.

Параметры -ac и -ar являются обязательными параметрами. Каждому приложению потребуется уникальный набор этих параметров. -aa требуется только для приложений с одним клиентом.

  1. Разверните приложение.

Предварительные требования для разработчиков Apple для App Wrapping Tool

Для распространения упакованных приложений исключительно среди пользователей организации вам потребуется учетная запись Apple Developer Enterprise Program и несколько сущностей для подписывания приложений, которые связаны с вашей учетной записью разработчика Apple.

Дополнительные сведения о внутреннем распространении приложений iOS среди пользователей вашей организации см. в официальном руководстве по распространению приложений Apple Developer Enterprise Program.

Для распространения приложений, упакованных в Intune, потребуется следующее:

  • Учетная запись разработчика в программе Apple Developer Enterprise Program.

  • Внутренний и нерегламентированный сертификат подписи дистрибутива с действительным идентификатором группы.

    • Вам потребуется хэш SHA1 сертификата подписи в качестве параметра для App Wrapping Tool Intune.
  • Профиль подготовки внутреннего распределения.

Действия по созданию учетной записи Apple Developer Enterprise

  1. Перейдите на сайт Apple Developer Enterprise Program.

  2. В правом верхнем углу страницы щелкните Регистрация.

  3. Ознакомьтесь с контрольным списком того, что необходимо для регистрации. Нажмите кнопку Начать регистрацию в нижней части страницы.

  4. Войдите с идентификатором Apple ID вашей организации. Если у вас его нет, нажмите кнопку Создать идентификатор Apple ID.

  5. Выберите тип сущности и нажмите кнопку Продолжить.

  6. Заполните форму, указав сведения о вашей организации. Нажмите кнопку Продолжить. На этом этапе Apple связывается с вами, чтобы убедиться, что вы имеете право зарегистрировать свою организацию.

  7. После проверки нажмите кнопку Принять лицензию.

  8. После согласия на лицензию завершите покупку и активацию программы.

  9. Если вы являетесь агентом команды (человеком, который присоединяется к программе Apple Developer Enterprise от имени вашей организации), сначала создайте команду, приглашая участников команды и назначая роли. Чтобы узнать, как управлять командой, ознакомьтесь с документацией Apple по управлению учетной записью разработчиков.

Действия по созданию сертификата подписи Apple

  1. Перейдите на портал разработчика Apple.

  2. В правом верхнем углу страницы щелкните Учетная запись.

  3. Войдите с помощью идентификатора Apple ID организации.

  4. Щелкните Сертификаты, идентификаторы & Профили.

    Портал разработчика Apple — сертификаты, идентификаторы & профили

  5. Щелкните портал разработчика Apple и войдите в правый верхний угол, чтобы добавить сертификат iOS.

  6. Выберите создать внутренний и нерегламентированный сертификат в рабочей среде.

    Выберите In-House и нерегламентированный сертификат

    Примечание.

    Если вы не планируете распространять приложение и хотите протестировать его только внутри организации, можно использовать сертификат разработки приложений iOS вместо сертификата для рабочей среды. Если вы используете сертификат разработки, убедитесь, что профиль подготовки мобильных устройств ссылается на устройства, на которых будет установлено приложение.

  7. Нажмите кнопку Далее в нижней части страницы.

  8. Ознакомьтесь с инструкциями по созданию запроса подписи сертификата (CSR) с помощью приложения "Доступ к цепочке ключей" на компьютере macOS.

    Ознакомьтесь с инструкциями по созданию CSR

  9. Следуйте приведенным выше инструкциям, чтобы создать запрос на подпись сертификата. На компьютере macOS запустите приложение Keychain Access .

  10. В меню macOS в верхней части экрана перейдите в раздел Помощник по > сертификату для доступа к > цепочке ключей Запрос сертификата из центра сертификации.

    Запрос сертификата из центра сертификации в доступе к цепочке ключей

  11. Следуйте инструкциям на сайте разработчика Apple выше о том, как создать CSR-файл. Сохраните CSR-файл на компьютере macOS.

    Введите сведения для запрашиваемого сертификата.

  12. Вернитесь на сайт разработчика Apple. Нажмите кнопку Продолжить. Затем отправьте CSR-файл.

  13. Apple создаст сертификат для подписи. Скачайте и сохраните его в запоминающееся место на компьютере macOS.

    Скачивание сертификата подписи

  14. Дважды щелкните только что скачанный файл сертификата, чтобы добавить сертификат в связка ключей.

  15. Снова откройте доступ к цепочке ключей . Найдите сертификат, найдите его имя в строке поиска в правом верхнем углу. Щелкните правой кнопкой мыши элемент, чтобы открыть меню, и выберите команду Получить сведения. В примерах экранов мы используем сертификат разработки вместо производственного сертификата.

    Добавление сертификата в связка ключей

  16. Откроется информационное окно. Прокрутите вниз и посмотрите под меткой Отпечатки пальцев . Скопируйте строку SHA1 (размытую), чтобы использовать в качестве аргумента "-c" для App Wrapping Tool.

    Сведения об iPhone — строка SHA1 отпечатков пальцев

Действия по созданию профиля подготовки распространителя In-House

  1. Назад на портал учетной записи разработчика Apple и войдите с помощью идентификатора Apple ID организации.

  2. Щелкните Сертификаты, идентификаторы & Профили.

  3. Щелкните портал разработчика Apple и войдите в правый верхний угол, чтобы добавить профиль подготовки iOS.

  4. Выберите создать профиль подготовки в доме в разделе Распространение.

    Выбор профиля подготовки в доме

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

  6. Выполните действия, чтобы скачать профиль (с расширением .mobileprovision) на компьютер macOS.

  7. Сохраните файл в запоминаемом месте. Этот файл будет использоваться для параметра -p при использовании App Wrapping Tool.

Скачайте App Wrapping Tool

  1. Скачайте файлы для App Wrapping Tool из GitHub на компьютер macOS.

  2. Дважды щелкните Microsoft Intune Пакет ограничений приложений для iOS.dmg. Откроется окно с пользовательским лицензионным соглашением (EULA). Внимательно прочитайте документ.

  3. Выберите Принять , чтобы принять лицензионное соглашение, которое подключает пакет к вашему компьютеру.

Запуск App Wrapping Tool

Важно!

Intune регулярно выпускает обновления для App Wrapping Tool Intune. Регулярно проверка App Wrapping Tool Intune для iOS для обновлений и включения в цикл выпуска программного обеспечения, чтобы обеспечить поддержку приложений последних параметров политики защиты приложений.

Использование терминала

Откройте терминал macOS и выполните следующую команду:

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

Примечание.

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

Примере: В следующем примере команда запускает App Wrapping Tool в приложении MyApp.ipa. Профиль подготовки и хэш SHA-1 сертификата подписи указываются и используются для подписи упаковаемого приложения. Выходное приложение (MyApp_Wrapped.ipa) создается и сохраняется в папке Desktop.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB"  -v true

Параметры командной строки

С App Wrapping Tool можно использовать следующие параметры командной строки:

Примере: В следующем примере команда выполняет App Wrapping Tool, включив необходимые команды при оболочке приложения для использования в одном клиенте.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v true
Property Как использовать эту возможность
<Path of the input native iOS application file>. Имя файла должно заканчиваться на .app или .ipa.
-O <Path of the wrapped output application>
-P <Path of your provisioning profile for iOS apps>
-C <SHA1 hash of the signing certificate>
-H Подробные сведения об использовании доступных свойств командной строки для App Wrapping Tool.
-Ac <Client ID of the input app if the app uses the Microsoft Authentication Library> Это GUID в поле Идентификатор клиента из списка приложения в колонке Регистрация приложения.
-Ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Это URI перенаправления, настроенный в регистрации приложения. Как правило, это протокол URL-адреса приложения, к которому приложение Microsoft Authenticator будет возвращаться после проверки подлинности через посредника.
-Аа (Требуется для приложений с одним клиентом) <Authority URI of the input app> Например https://login.microsoftonline.com/<tenantID>/
-V (Необязательно) Выводит подробные сообщения в консоль. Рекомендуется использовать этот флаг для отладки ошибок.
-E (Необязательно) Используйте этот флаг, чтобы App Wrapping Tool удалить отсутствующие права при обработке приложения. Дополнительные сведения см. в разделе Настройка прав приложений .
-Xe (Необязательно) Выводит сведения о расширениях iOS в приложении и о правах, необходимых для их использования. Дополнительные сведения см. в разделе Настройка прав приложений .
-X (Необязательно) <An array of paths to extension provisioning profiles>. Используйте его, если приложению требуются профили подготовки расширений.
-B (Необязательно) Используйте -b без аргумента, если требуется, чтобы упаковаемое выходное приложение было той же версией пакета, что и входное приложение (не рекомендуется).

Используйте, -b <custom bundle version> если требуется, чтобы в упакованном приложении был пользовательский CFBundleVersion. Если вы решили указать настраиваемую CFBundleVersion, рекомендуется увеличить cfBundleVersion собственного приложения на наименее значимый компонент, например 1.0.0–> 1.0.1.
-F (Необязательно) <Path to a plist file specifying arguments.> Используйте этот флаг перед Plist-файлом , если вы решили использовать шаблон plist для указания остальных свойств IntuneMAMPackager, таких как -i, -o и -p. См. раздел Использование plist для ввода аргументов.
-Dt (Необязательно) Отключите сбор данных телеметрии Microsoft Intune клиента.
-Dl (Необязательно) Отключите журналы MSAL из журналов INtune для приложений, интегрированных с MSAL и реализующих собственный обратный вызов журнала MSAL.

Использование plist для ввода аргументов

Простой способ запустить App Wrapping Tool — поместить все аргументы команды в файл plist. Plist — это формат файла, аналогичный XML, который можно использовать для ввода аргументов командной строки с помощью интерфейса формы.

В папке IntuneMAMPackager/Contents/MacOS откройте Parameters.plist (пустой шаблон plist) с помощью текстового редактора или Xcode. Введите аргументы для следующих ключей:

Ключ Plist Тип Значение по умолчанию Примечания
Путь к пакету входного приложения String пусто То же, что и -i
Путь к пакету выходного приложения String пусто То же, что и -o
Путь к профилю подготовки String пусто То же, что и -p
Хэш сертификата SHA-1 String пусто То же, что и -c
Центр MSAL String пусто То же, что и -aa
Идентификатор клиента MSAL String пусто То же, что и -ac
URI ответа MSAL String пусто То же, что и -ar
Подробно включено Boolean false То же, что и -v
Удаление отсутствующих прав Boolean false То же, что и -e
Запретить обновление сборки по умолчанию Boolean false Эквивалент использования -b без аргументов
Переопределение строки сборки String пусто Настраиваемая функция CFBundleVersion приложения с оболочкой для вывода
Пути профиля подготовки расширений Массив строк пусто Массив профилей подготовки расширений для приложения.
Отключение телеметрии Boolean false То же, что и -dt
Отключение переопределения журнала MSAL Boolean false То же, что и -dl

Запустите IntuneMAMPackager с plist в качестве единственного аргумента:

./IntuneMAMPackager –f Parameters.plist

После упаковки

После завершения процесса упаковки появится сообщение "Приложение успешно упаковано". Если возникает ошибка, см . статью Сообщения об ошибках .

Упаковаемое приложение сохраняется в папке выходных данных, указанной ранее. Вы можете отправить приложение в Центр администрирования Intune и связать его с политикой управления мобильными приложениями.

Важно!

При отправке приложения с оболочкой можно попытаться обновить старую версию приложения, если более старая (упакованая или собственная) версия уже была развернута в Intune. При возникновении ошибки отправьте приложение как новое и удалите старую версию.

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

Как часто следует перезаписывать приложение iOS с помощью App Wrapping Tool Intune?

Ниже приведены main сценарии, в которых потребуется перезапись приложений.

  • Само приложение выпустило новую версию. Предыдущая версия приложения была упакована и отправлена в Центр администрирования Intune.
  • Intune App Wrapping Tool для iOS выпустила новую версию, которая включает исправления ключевых ошибок или новые, определенные функции политики защиты приложений Intune. Это происходит через 6–8 недель в репозитории GitHub для Microsoft Intune App Wrapping Tool для iOS.

Для iOS/iPadOS, хотя в оболочке можно использовать другой профиль сертификата или подготовки, отличный от исходного, используемого для подписи приложения. Если права, указанные в приложении, не включены в новый профиль подготовки, перенос завершится ошибкой. Использование параметра командной строки "-e", который удаляет все отсутствующие права из приложения, чтобы принудительная оболочка не завершилась ошибкой в этом сценарии, может привести к сбою функциональных возможностей в приложении.

Ниже приведены некоторые рекомендации по перезаписи.

  • Убедитесь, что другой профиль подготовки имеет все необходимые права, как и любой предыдущий профиль подготовки.

Сообщения об ошибках и файлы журналов

Используйте следующие сведения для устранения неполадок, возникающих при использовании средства упаковки приложений.

Сообщения об ошибках

Если средство упаковки приложений не завершается успешно, в консоли будет отображаться одно из следующих сообщений об ошибке:

Сообщение об ошибке Дополнительная информация
Необходимо указать допустимый профиль подготовки iOS. Профиль подготовки может быть недопустимым. Убедитесь, что у вас есть правильные разрешения для устройств и что ваш профиль правильно предназначен для разработки или распространения. Срок действия профиля подготовки также может быть истек.
Укажите допустимое имя входного приложения. Убедитесь, что указано правильное имя входного приложения.
Укажите допустимый путь к выходному приложению. Убедитесь, что путь к указанному выходному приложению существует и указан правильно.
Укажите допустимый профиль подготовки входных данных. Убедитесь, что вы предоставили допустимое имя и расширение профиля подготовки. Возможно, в профиле подготовки отсутствуют права или вы не включили параметр командной строки –p.
Указанное вами входное приложение не найдено. Укажите допустимое имя входного приложения и путь. Убедитесь, что входной путь к приложению действителен и существует. Убедитесь, что входное приложение существует в этом расположении.
Указанный файл входного профиля подготовки не найден. Укажите допустимый файл профиля подготовки входных данных. Убедитесь, что путь к входным файлу подготовки является допустимым и что указанный файл существует.
Указанная папка выходного приложения не найдена. Укажите допустимый путь к выходному приложению. Убедитесь, что указанный выходной путь является допустимым и существует.
Выходное приложение не имеет расширения .iPA . Только приложения с расширениями .app и .ipa принимаются App Wrapping Tool. Убедитесь, что выходной файл имеет допустимое расширение.
Указан недопустимый сертификат подписи. Укажите действительный сертификат подписи Apple. Убедитесь, что вы скачали правильный сертификат подписи на портале разработчика Apple. Возможно, срок действия сертификата истек или может отсутствовать открытый или закрытый ключ. Если сертификат Apple и профиль подготовки можно использовать для правильной подписи приложения в Xcode, они действительны для App Wrapping Tool. Кроме того, убедитесь, что сертификат подписи имеет уникальное имя в связка ключей компьютера macOS узла. Если в связка ключей есть несколько версий одного сертификата, эта ошибка может быть возвращена.
Указанное приложение входных данных является недопустимым. Укажите допустимое приложение. Убедитесь, что у вас есть допустимое приложение iOS, скомпилированное в виде файла APP или IPA.
Указанное входное приложение зашифровано. Укажите допустимое незашифрованное приложение. App Wrapping Tool не поддерживает зашифрованные приложения. Укажите незашифрованное приложение.
Указанное вами входное приложение не имеет формат pie(Position Independent Исполняемый файл). Укажите допустимое приложение в формате PIE. При выполнении приложения, независимые от позиций (PIE), могут загружаться по случайному адресу памяти. Это может иметь преимущества безопасности. Дополнительные сведения о преимуществах безопасности см. в документации для разработчиков Apple.
Указанное приложение для ввода уже упаковано в оболочку. Укажите допустимое незавернутое приложение. Невозможно обработать приложение, которое уже было обработано средством. Если вы хотите снова обработать приложение, запустите средство, используя исходную версию приложения.
Указанное приложение для ввода не подписано. Укажите допустимое подписанное приложение. Инструмент упаковки приложений требует подписи приложений. Ознакомьтесь с документацией разработчика, чтобы узнать, как подписать упаковаемое приложение.
Указанное входное приложение должно быть в формате IPA или .app. Средство упаковки приложений принимает только расширения .app и .ipa. Убедитесь, что входной файл имеет допустимое расширение и был скомпилирован в виде app или IPA-файла.
Указанное приложение для ввода уже упаковано в оболочку и находится в последней версии шаблона политики. App Wrapping Tool не будет повторно использовать для существующего приложения в оболочке последнюю версию шаблона политики.
ПРЕДУПРЕЖДЕНИЕ. Вы не указали хэш сертификата SHA1. Перед развертыванием убедитесь, что упаковаемое приложение подписано. Убедитесь, что указан допустимый хэш SHA1 после флага командной строки –c.

Сбор журналов для упакованных приложений с устройства

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

  1. Перейдите в приложение "Параметры iOS" на устройстве и выберите бизнес-приложение.
  2. Выберите Microsoft Intune.
  3. Переключите параметр Консоли диагностики отображения в значение Вкл.
  4. Запустите бизнес-приложение.
  5. Щелкните ссылку "Начало работы".
  6. Теперь вы можете отправлять журналы непосредственно в корпорацию Майкрософт или предоставлять к ним общий доступ через другое приложение на устройстве.

Примечание.

Функция ведения журнала включена для приложений, которые были заключены в оболочку с помощью Intune App Wrapping Tool версии 7.1.13 или более поздней.

Сбор журналов сбоев из системы

Возможно, приложение будет регистрировать полезные сведения в консоли клиентского устройства iOS. Эта информация полезна при возникновении проблем с приложением и необходимости определить, связана ли проблема с App Wrapping Tool или с самим приложением. Чтобы получить эти сведения, выполните следующие действия.

  1. Воспроизведите проблему, запустив приложение.

  2. Соберите выходные данные консоли, следуя инструкциям Apple по отладке развернутых приложений iOS.

Упакованные приложения также будут представлять пользователям возможность отправлять журналы непосредственно с устройства по электронной почте после сбоя приложения. Пользователи могут отправлять журналы вам для проверки и пересылки в Корпорацию Майкрософт, если это необходимо.

Требования к сертификату, профилю подготовки и проверке подлинности

В App Wrapping Tool для iOS есть некоторые требования, которые должны быть выполнены, чтобы гарантировать полную функциональность.

Требование Подробно
Профиль подготовки iOS Убедитесь, что профиль подготовки действителен, прежде чем включать его. App Wrapping Tool не проверка, истек ли срок действия профиля подготовки при обработке приложения iOS. Если указан профиль подготовки с истекшим сроком действия, средство упаковки приложений будет включать профиль подготовки с истекшим сроком действия, и вы не узнаете о проблеме, пока приложение не будет установлено на устройстве iOS.
Сертификат подписи iOS Убедитесь, что сертификат подписи действителен, прежде чем указывать его. Средство не проверка, истек ли срок действия сертификата при обработке приложений iOS. Если указан хэш для сертификата с истекшим сроком действия, средство обработает и подпишет приложение, но его установка на устройствах не будет выполнена.

Убедитесь, что сертификат, предоставленный для подписи упаковаемого приложения, соответствует профилю подготовки. Средство не проверяет, соответствует ли профиль подготовки сертификату, предоставленному для подписи упаковаемого приложения.
Проверка подлинности Устройство должно иметь ПИН-код для работы шифрования. На устройствах, на которых развернуто упаковавшееся приложение, при касании строки состояния на устройстве пользователю потребуется повторно войти с помощью рабочей или учебной учетной записи. Политика по умолчанию в упакованном приложении — проверка подлинности при повторном запуске. iOS обрабатывает любые внешние уведомления (например, телефонный звонок), выходя из приложения и повторно запуская его.

Настройка прав приложения

Перед переносом приложения можно предоставить права , чтобы предоставить приложению дополнительные разрешения и возможности, превышающие обычные возможности приложения. Файл прав используется во время подписывания кода для указания специальных разрешений в приложении (например, доступ к общей связка ключей). Определенные службы приложений, называемые возможностями , включаются в Xcode во время разработки приложений. После включения эти возможности будут отражены в файле прав. Дополнительные сведения о правах и возможностях см. в разделе Добавление возможностей в библиотеку разработчика iOS. Полный список поддерживаемых возможностей см. в разделе Поддерживаемые возможности.

Поддерживаемые возможности для App Wrapping Tool для iOS

Возможность Описание Рекомендуемое руководство
Группы приложений Используйте группы приложений, чтобы разрешить нескольким приложениям доступ к общим контейнерам и разрешить дополнительный межпроцессный обмен данными между приложениями.

Чтобы включить группы приложений, откройте область Возможности и нажмите кнопку Включено в группе приложений. Вы можете добавить группы приложений или выбрать существующие.
При использовании групп приложений используйте обратную нотацию DNS:

group.com.companyName.AppGroup
Фоновые режимы Включение фоновых режимов позволяет приложению iOS продолжать работу в фоновом режиме.
Защита данных Защита данных обеспечивает уровень безопасности для файлов, хранящихся на диске приложением iOS. Защита данных использует встроенное оборудование шифрования, присутствующих на определенных устройствах, для хранения файлов в зашифрованном формате на диске. Приложение должно быть подготовлено для использования защиты данных.
Покупка из приложения Покупка из приложения внедряет магазин непосредственно в приложение, позволяя подключаться к магазину и безопасно обрабатывать платежи от пользователя. Вы можете использовать покупку из приложения для получения оплаты за расширенные функции или за дополнительное содержимое, используемое приложением.
Общий доступ к цепочке ключей Включение общего доступа связка ключей позволяет приложению обмениваться паролями в связка ключей с другими приложениями, разработанными вашей командой. При использовании общего доступа к связка ключей используйте обратную нотацию DNS:

com.companyName.KeychainGroup
Личный VPN Включите личный VPN, чтобы позволить приложению создавать настраиваемую конфигурацию VPN системы и управлять ими с помощью платформы расширения сети.
Push-уведомления Служба push-уведомлений Apple (APNs) позволяет приложению, которое не работает на переднем плане, уведомлять пользователя о том, что у него есть сведения для пользователя. Чтобы push-уведомления работали, необходимо использовать профиль подготовки приложения.

Выполните действия, описанные в документации для разработчиков Apple.
Конфигурация беспроводных аксессуаров Включение конфигурации беспроводных аксессуаров добавляет в проект платформу внешних аксессуаров и позволяет приложению настроить MFi Wi-Fi аксессуаров.

Действия по включению прав

  1. Включите возможности в приложении:

    А. В Xcode перейдите к целевому объекту приложения и щелкните Возможности.

    Б. Включите соответствующие возможности. Подробные сведения о каждой возможности и о том, как определить правильные значения, см. в разделе Добавление возможностей в библиотеку разработчика iOS.

    c. Обратите внимание на все идентификаторы, созданные во время процесса. Их также можно назвать значениями AppIdentifierPrefix .

    d. Создайте и подпишите приложение для упаковки.

  2. Включите права в профиле подготовки:

    А. Войдите в Центр разработчиков Apple.

    Б. Создайте профиль подготовки для приложения. Инструкции см. в статье Получение необходимых компонентов для App Wrapping Tool Intune для iOS.

    c. В профиле подготовки включите те же права, что и в приложении. Вам потребуется указать те же идентификаторы ( AppIdentifierPrefix значения), которые вы указали при разработке приложения.

    d. Завершите работу мастера подготовки профиля и скачайте файл.

  3. Убедитесь, что выполнены все предварительные требования, а затем заключите приложение в оболочку.

Устранение распространенных ошибок с правами

Если в App Wrapping Tool для iOS отображается ошибка прав, попробуйте выполнить следующие действия по устранению неполадок.

Проблема Причина Решение
Не удалось проанализировать права, созданные из входного приложения. App Wrapping Tool не может прочитать файл прав, извлеченный из приложения. Файл прав может быть неправильно сформирован. Проверьте файл прав для приложения. В следующих инструкциях объясняется, как это сделать. При проверке файла прав проверка на наличие неправильного синтаксиса. Файл должен быть в формате XML.
В профиле подготовки отсутствуют права (отсутствующие права перечислены). Переупакуйте приложение с помощью профиля подготовки, имеющего эти права. Существует несоответствие между правами, включенными в профиле подготовки, и возможностями, включенными в приложении. Это несоответствие также относится к идентификаторам, связанным с определенными возможностями (например, группами приложений и доступом связка ключей). Как правило, можно создать новый профиль подготовки, который обеспечивает те же возможности, что и приложение. Если идентификаторы между профилем и приложением не совпадают, App Wrapping Tool заменит идентификаторы, если это возможно. Если эта ошибка по-прежнему возникает после создания нового профиля подготовки, попробуйте удалить права из приложения с помощью параметра –e (см. раздел Использование параметра –e для удаления прав из приложения).

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

Чтобы просмотреть существующие права подписанного приложения и профиля подготовки, выполните следующие действия.

  1. Найдите IPA-файл и измените его расширение на .zip.

  2. Разверните файл .zip. При этом будет получена папка Полезные данные, содержащая пакет .app.

  3. Используйте средство codesign, чтобы проверка прав в пакете .app, где YourApp.app — это фактическое имя пакета .app.:

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Используйте средство безопасности, чтобы проверка права встроенного профиля подготовки приложения, где YourApp.app — это фактическое имя пакета .app.

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

Удаление прав из приложения с помощью параметра –e

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

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> –p /<path to provisioning profile> –c <SHA1 hash of the certificate> -e

Безопасность и конфиденциальность App Wrapping Tool

При использовании App Wrapping Tool используйте следующие рекомендации по обеспечению безопасности и конфиденциальности.

  • Сертификат подписи, профиль подготовки и указанное бизнес-приложение должны находиться на том же компьютере macOS, который используется для запуска средства упаковки приложений. Если файлы находятся по пути UNC, убедитесь, что они доступны с компьютера macOS. Путь должен быть защищен с помощью подписи IPsec или SMB.

    Упаковаемое приложение, импортированное в Центр администрирования, должно находиться на том же компьютере, на который запущено средство. Если файл находится по UNC-пути, убедитесь, что он доступен на компьютере, на котором запущен Центр администрирования. Путь должен быть защищен с помощью подписи IPsec или SMB.

  • Среду, в которой App Wrapping Tool скачивают из репозитория GitHub, необходимо защитить с помощью протокола IPsec или подписывания SMB.

  • Приложение, которое вы обрабатываете, должно поступать из надежного источника, чтобы обеспечить защиту от атак.

  • Убедитесь, что выходная папка, указанная в App Wrapping Tool, защищена, особенно если это удаленная папка.

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

  • При мониторинге папки документов на устройстве в оболочке приложения может появиться папка с именем .msftintuneapplauncher. Изменение или удаление этого файла может повлиять на правильную работу ограниченных приложений.

  • Регистрация пользовательских схем URL-адресов позволяет перенаправлять определенные URL-адреса в приложение. iOS и iPadOS позволяют нескольким приложениям регистрировать одну и ту же настраиваемую схему URL-адресов, и ОС определяет, какое приложение вызывается. Рекомендации, которые помогут избежать конфликтов пользовательских схем URL-адресов и рекомендации по безопасности для обработки неправильно сформированных URL-адресов, см. в документации Apple.

См. также