Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте Microsoft Intune App Wrapping Tool для iOS, чтобы включить Intune политики защиты для собственных приложений iOS, не изменяя код самого приложения.
Инструмент представляет собой приложение командной строки macOS, создающее оболочку вокруг приложения. После обработки приложения его функциональность можно изменить, развернув для него политики защиты приложений .
Чтобы скачать средство, см. Microsoft Intune App Wrapping Tool для iOS на GitHub.
Примечание.
Если у вас возникли проблемы с использованием Intune App Wrapping Tool с приложениями, отправьте запрос на помощь в GitHub.
Общие требования к инструменту App Wrapping Tool
Перед запуском средства App Wrapping Tool необходимо выполнить некоторые общие предварительные требования.
Скачайте Microsoft Intune App Wrapping Tool для iOS с сайта GitHub.
Компьютер с macOS с установленным набором инструментов Xcode версии 16.0 или более поздней.
Ваша компания или независимый поставщик программного обеспечения (ISV) должны разработать и подписать приложение ввода для iOS.
Файл должен иметь расширение .ipa или .app.
Он должен быть скомпилирован для iOS 16.0 или более поздней версии.
Его нельзя зашифровать.
Нет расширенных атрибутов файла.
Установите права перед обработкой приложения с помощью Intune App Wrapping Tool. Права предоставляют приложению больше разрешений и возможностей, выходящих за рамки обычно предоставляемых. Инструкции см. в разделе "Настройка прав приложений ".
- Убедитесь в наличии действительных сертификатов подписи в цепочке ключей системы. Если у вас возникли проблемы с подписыванием кода приложения, выполните следующие действия, чтобы устранить их:
- Сброс параметров доверия для всех связанных сертификатов
- Установка промежуточных сертификатов в системную цепочку ключей и цепочку ключей входа
- Удалите и переустановите все связанные сертификаты
Зарегистрируйте свое приложение с помощью Microsoft Entra ID
- Зарегистрируйте свои приложения с помощью Microsoft Entra ID. Подробнее см. в разделе Регистрация приложения с помощью платформы удостоверений Майкрософт.
- Добавьте настраиваемый URL-адрес перенаправления в параметры приложения. Дополнительные сведения см. в разделе Настройка MSAL.
- Предоставьте своему приложению доступ к службе Intune MAM. Дополнительные сведения см. в разделе "Предоставление вашему приложению доступа к службе управления мобильными приложениями Intune".
- После внесения указанных выше изменений запустите последнюю версию средства упаковки приложений Intune. Настройка приложений для библиотеки проверки подлинности Майкрософт (MSAL). Добавьте Microsoft Entra идентификатор клиента приложения в параметры командной строки с помощью Intune App Wrapping Tool. Дополнительные сведения см. в разделе "Параметры командной строки".
Примечание.
Параметры -ac и являются обязательными -ar . Каждому приложению нужен уникальный набор этих параметров.
-aa требуется только для приложений с одним клиентом.
- Разверните приложение.
Предварительные требования к разработчикам Apple для App Wrapping Tool
Чтобы распространять упакованные приложения исключительно для пользователей вашей организации, вам необходима учетная запись в программе Apple Developer Enterprise Program и несколько сущностей для подписи приложений, связанных с вашей учетной записью разработчика Apple.
Дополнительные сведения о внутреннем распространении приложений iOS для пользователей вашей организации см. в официальном руководстве по распространению приложений Apple Developer Enterprise Program.
Для распространения приложений, обернутых в Intune, требуется следующее:
Учетная запись разработчика в программе Apple Developer Enterprise.
Внутренний и специальный сертификат подписи распределения с действительным идентификатором команды.
- В качестве параметра для Intune App Wrapping Tool требуется хэш SHA1 сертификата подписи.
Внутренний профиль подготовки к распространению.
Создание учетной записи Apple Developer Enterprise
Перейдите на сайт программы Apple Developer Enterprise Program.
В правом верхнем углу страницы выберите Записаться.
Ознакомьтесь с контрольным списком того, что вам нужно зарегистрировать. Выберите "Начать регистрацию" внизу страницы.
Войдите с помощью учетной записи Apple вашей организации. Если у вас ее нет, выберите «Создать учетную запись Apple».
Выберите тип сущности и нажмите кнопку "Продолжить".
Заполните форму, указав сведения о вашей организации. Нажмите Продолжить. На этом этапе Apple связывается с вами, чтобы подтвердить, что у вас есть полномочия для регистрации организации.
После проверки выберите "Согласиться с лицензией".
После получения лицензии завершите процедуру, купив и активировав программу.
Если вы являетесь агентом команды (человеком, который присоединяется к программе Apple Developer Enterprise Program для вашей организации), пригласите членов команды и назначьте роли для создания команды. Чтобы узнать, как управлять командой, ознакомьтесь с документацией Apple по управлению командой учетных записей разработчиков.
Создание сертификата подписи Apple
В правом верхнем углу страницы выберите "Учетная запись".
Войдите с помощью учетной записи Apple вашей организации.
Выберите сертификаты, идентификаторы & профили.
в правом верхнем углу. Это действие добавляет сертификат iOS.Выберите создание внутреннего и специального сертификата в разделе "Производство".
Примечание.
Если вы не планируете распространять приложение, а хотите протестировать его только внутри компании, вы можете использовать сертификат разработки приложений для iOS вместо сертификата для рабочей среды. Если вы используете сертификат разработки, убедитесь, что профиль подготовки мобильных устройств включает устройства, на которых вы планируете установить приложение.
Нажмите кнопку " Далее " внизу страницы.
Прочтите инструкции по созданию запроса на подпись сертификата (CSR) с помощью приложения Keychain Access на компьютере с macOS.
Следуйте предыдущим инструкциям, чтобы создать запрос на подпись сертификата. На компьютере с macOS запустите приложение "Доступ к цепочке ключей ".
В меню macOS в верхней части экрана выберите Помощник > по проверке сертификатов доступа > к связке ключей Запросить сертификат в центре сертификации.
Следуйте инструкциям сайта разработчиков Apple, чтобы создать файл запроса подписи сертификата (CSR). Сохраните CSR-файл на компьютере с macOS.
Вернитесь на сайт разработчиков Apple. Нажмите Продолжить. Затем отправьте CSR-файл.
Apple создает ваш сертификат подписи. Скачайте и сохраните его в запоминающемся месте на компьютере macOS.
Дважды щелкните скачанный файл сертификата, чтобы добавить его в цепочку ключей.
Снова откройте доступ к связке ключей. Чтобы найти сертификат, выполните поиск по его имени в правом верхнем углу панели поиска. Щелкните элемент правой кнопкой мыши, чтобы открыть меню и выбрать "Получить сведения". На экранах примеров используется сертификат разработки вместо производственного сертификата.
Откроется информационное окно. Прокрутите вниз и посмотрите под надписью "Отпечатки пальцев ". Скопируйте строку SHA1 (размытую), чтобы использовать ее в качестве аргумента "-c" для App Wrapping Tool.
Создание профиля подготовки к распространению In-House
Назад на портал учетной записи разработчика Apple и войдите с помощью учетной записи Apple организации.
Выберите сертификаты, идентификаторы & профили.
в правом верхнем углу. Это действие добавляет профиль подготовки iOS.Выберите создание профиля подготовки "Внутри компании " в разделе "Распространение".
Нажмите Продолжить. Обязательно свяжите ранее созданный сертификат подписи с профилем подготовки.
Следуйте инструкциям, чтобы загрузить свой профиль (с расширением
.mobileprovision) на компьютер с macOS.Сохраните файл в памятном месте. Этот файл используется для параметра -p при использовании инструмента App Wrapping Tool.
Скачать средство App Wrapping Tool
Скачайте файлы для средства App Wrapping Tool с GitHub на компьютер с macOS.
Дважды щелкните Microsoft Intune Упаковщик ограничений приложений для iOS.dmg. Откроется окно с лицензионным соглашением (EULA). Внимательно прочтите документ.
Выберите "Принимаю", чтобы принять лицензионное соглашение с конечным пользователем, которое подключает пакет к вашему компьютеру.
Запустите средство App Wrapping Tool
Важно!
Intune регулярно выпускает обновления для Intune App Wrapping Tool. Регулярно проверка Intune App Wrapping Tool для 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> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]
Примечание.
Как показано в следующей таблице, некоторые параметры являются необязательными.
Пример: В следующем примере команды выполняется средство App Wrapping Tool в приложении MyApp.ipa. Для подписания упакованного приложения указываются профиль подготовки и хэш SHA-1 сертификата подписи. Приложение для вывода (MyApp_Wrapped.ipa) создается и сохраняется в папке "Рабочий стол".
./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" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v
Параметры командной строки
С помощью инструмента 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
| Property | Как использовать эту возможность |
|---|---|
-i |
<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 возвращается после проверки подлинности при посредничестве. |
-aa |
(Требуется для приложений с одним клиентом) <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. |
-ds |
(Необязательно) Отключите средства защиты Intune для SFSafariViewController, SFAuthSession и ASWebAuthenticationSession. |
-mp |
(Необязательно). <Path to a plist file containing MAM settings to merge into the wrapped app> Укажите пользовательские параметры пакета SDK MAM для Intune, которые будут объединены со словарем IntuneMAMSettings приложения в процессе упаковки. Примечание. Параметры MultiIdentity, MAMPolicyRequired, , AutoEnrollOnLaunchи ContainingAppBundleId не поддерживаются с помощью -mp, так как они автоматически настраиваются инструментом App Wrapping Tool. Параметры аутентификации (ADALAuthority, ADALClientId, ADALRedirectUri) также не поддерживаются через -mp и должны быть настроены с помощью параметров командной строки -aa, -ac и -ar. |
Использование файла 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 |
| Подробная информация включена | Логический | false | То же, что и -v |
| Удаление отсутствующих прав | Логический | false | То же, что и -e |
| Запретить обновление сборки по умолчанию | Логический | false | Эквивалентно использованию -b без аргументов |
| Переопределение строки сборки | String | пусто | Настраиваемая CFBundleVersion упакованного приложения вывода |
| Пути к профилям подготовки расширений | Массив строк | пусто | Массив профилей подготовки расширений для приложения. |
| Отключение телеметрии | Логический | false | То же, что и -dt |
| Отключение переопределения журнала MSAL | Логический | false | То же, что и -dl |
| Параметры MAM Путь к файлу PLIST | String | пусто | То же, что и -mp |
Запустите IntuneMAMPackager с файлом PLIST в качестве единственного аргумента:
./IntuneMAMPackager –f Parameters.plist
Пост-упаковка
После завершения процесса упаковки отобразится сообщение "Приложение успешно упаковано". Если возникает ошибка, см. раздел "Сообщения об ошибках " для получения справки.
Приложение-оболочка сохранится в папке вывода, указанной ранее. Вы можете отправить приложение в Центр администрирования Intune и связать его с политикой управления мобильными приложениями.
Важно!
При отправке упакованного приложения вы можете попытаться обновить более раннюю версию приложения, если старая (упакованная или встроенная) версия уже развернута в Intune. Если возникла ошибка, отправьте приложение как новое приложение и удалите старую версию.
Теперь вы можете развернуть приложение в группах пользователей и настроить для этого приложения целые политики защиты приложений. Приложение работает на устройстве с использованием указанных политик защиты приложений.
Как часто следует менять упаковку приложения iOS с помощью Intune App Wrapping Tool?
Основные сценарии, в которых необходимо выполнить переоболочку приложений, следующие:
- Само приложение выпустило новую версию. Предыдущая версия приложения была упакована и отправлена в Центр администрирования Intune.
- Выпущена новая версия Intune App Wrapping Tool для iOS, в которой можно исправить основные ошибки или добавить новые функции политики защиты приложений Intune. Выпуск новой версии происходит каждые 6–8 недель через репозиторий GitHub для Microsoft Intune App Wrapping Tool для iOS.
Для iOS/iPadOS приложение можно обернуть с помощью сертификата или профиля подготовки, отличающегося от того, который первоначально использовался для подписи приложения. Однако если новый профиль подготовки не включает права, указанные в приложении, процесс упаковки завершится сбоем. Если вы используете параметр командной строки "-e", который удаляет все отсутствующие права из приложения, принудительный сбой упаковки в этом сценарии может привести к нарушению функциональности приложения.
Ниже приведены некоторые рекомендации по переносу упаковки.
- Обеспечение того, чтобы другой профиль подготовки имел все необходимые права, что и любой предыдущий профиль подготовки.
Сообщения об ошибках и файлы журналов
Используйте следующие сведения для устранения неполадок, связанных со средством упаковки приложений.
Сообщения об ошибках
Если не удается запустить средство упаковки приложений, на консоли отображается одно из следующих сообщений об ошибке:
| Сообщение об ошибке | Дополнительная информация |
|---|---|
| Необходимо указать действительный профиль подготовки iOS. | Возможно, ваш профиль подготовки недействителен. Убедитесь, что у вас есть соответствующие разрешения для устройств, а ваш профиль правильно предназначен для разработки или распространения. Возможно, истек срок действия вашего профиля подготовки. |
| Укажите допустимое имя приложения ввода. | Убедитесь, что имя приложения ввода указано правильно. |
| Укажите допустимый путь к выходному приложению. | Убедитесь, что указанное вами приложение выводов существует и является правильным. |
| Укажите допустимый профиль подготовки ввода. | Убедитесь, что вы указали действительное имя профиля подготовки и расширение. Возможно, в профиле подготовки отсутствуют активные права или не включен параметр командной строки –p . |
| Указанное вами приложение ввода не найдено. Укажите допустимое имя приложения ввода и путь к нему. | Убедитесь, что путь к приложению ввода является допустимым и существует. Убедитесь, что приложение ввода существует в этом расположении. |
| Не найден указанный файл профиля подготовки ввода. Укажите допустимый файл профиля подготовки ввода. | Убедитесь, что путь к файлу подготовки ввода допустимый и что указанный файл существует. |
| Указанная папка выходного приложения не найдена. Укажите допустимый путь к выходному приложению. | Убедитесь, что выходной путь является допустимым и существует. |
| Приложение вывода не имеет расширения IPA . | В App Wrapping Tool принимаются только приложения с расширениями .app и IPA. Убедитесь в том, что выходной файл имеет допустимое расширение. |
| Указан недопустимый сертификат подписи. Укажите действительный сертификат подписи Apple. | Убедитесь, что вы загрузили правильный сертификат подписи с портала разработчика Apple. Возможно, истек срок действия сертификата или отсутствует открытый или закрытый ключ. Если ваш сертификат Apple и профиль подготовки можно использовать для правильной подписи приложения в Xcode, то они действительны для App Wrapping Tool. Кроме того, убедитесь, что сертификат подписи имеет уникальное имя в цепочке ключей хост-компьютера macOS. Если в цепочке ключей существует несколько версий одного и того же сертификата, средство возвращает эту ошибку. |
| Недопустимое указанное приложение ввода. Укажите допустимое приложение. | Убедитесь, что ваше действительное .app приложение iOS скомпилировано как файл или..ipa |
| Указанное приложение ввода шифруется. Укажите допустимое незашифрованное приложение. | App Wrapping Tool не поддерживает зашифрованные приложения. Предоставьте незашифрованное приложение. |
| Указанное вами приложение ввода не имеет формата PIE. Укажите допустимое приложение в формате PIE. | Независимые от позиции приложения PIE могут загружаться по случайному адресу памяти при запуске. Эта функция может обеспечить преимущества в плане безопасности. Дополнительные сведения о преимуществах безопасности см. в документации Apple для разработчиков. |
| Указанное приложение ввода будет перенесено. Укажите допустимое неупакованное приложение. | Вы не сможете обработать приложение, если средство уже обработало его. Если вы хотите снова обработать приложение, запустите средство, используя исходную версию приложения. |
| Указанное приложение ввода не подписано. Укажите действительное подписанное приложение. | Для использования средства упаковки приложений необходимо, чтобы приложения были подписаны. Сведения о том, как подписать упакованное приложение, см. в документации для разработчиков. |
| Указанное приложение ввода должно иметь формат .ipa или .app. | Средство упаковки приложений принимает .app.ipa только расширения. Убедитесь, что входной файл имеет допустимое расширение и скомпонован как файл или.ipa..app |
| Указанное вами приложение ввода является оболоченным и использует последнюю версию шаблона политики. | App Wrapping Tool не переносит существующее упакованное приложение в последнюю версию шаблона политики. |
| ПРЕДУПРЕЖДЕНИЕ! Вы не указали хэш сертификата SHA1. Перед развертыванием убедитесь, что упакованное приложение подписано. | Убедитесь, что вы указали допустимый хэш SHA1 после флага командной строки –c . |
Сбор журналов для упакованных приложений с устройства
Выполните следующие действия, чтобы получить журналы для упакованных приложений во время устранения неполадок.
- Откройте приложение "Параметры iOS" на устройстве и выберите бизнес-приложение.
- Выберите Microsoft Intune.
- Переключите параметр консоли диагностики дисплеяв положение Вкл.
- Запустите бизнес-приложение.
- Щелкните ссылку "Начало работы".
- Теперь вы можете отправлять журналы напрямую в корпорацию Майкрософт или делиться ими с помощью другого приложения на устройстве.
Примечание.
Функция ведения журнала включена для приложений, включенных в оболочку Intune App Wrapping Tool версии 7.1.13 или более поздней.
Сбор журналов сбоев в системе
Ваше приложение может регистрировать полезные сведения на консоли устройства клиента с iOS. Эти сведения полезны, если у вас возникли проблемы с приложением и необходимо определить, связана ли проблема со средством App Wrapping Tool или с самим приложением. Чтобы получить эти сведения, выполните следующие действия.
Воспроизведите проблему, запустив приложение.
Соберите выходные данные консоли, следуя инструкциям Apple по отладке развернутых приложений iOS.
Упакованные приложения также предоставляют пользователям возможность отправлять журналы непосредственно с устройства по электронной почте после сбоя приложения. Пользователи могут отправлять журналы вам для проверки и пересылки в Майкрософт при необходимости.
Требования к сертификату, профилю подготовки и проверке подлинности
App Wrapping Tool для iOS имеет некоторые требования, которые должны быть соблюдены, чтобы гарантировать полную функциональность.
| Требование | Сведения |
|---|---|
| Профиль подготовки iOS | Перед включением убедитесь, что профиль подготовки действителен. При обработке приложения iOS App Wrapping Tool не проверка, истек ли срок действия профиля подготовки. Если указан просроченный профиль подготовки, средство упаковки приложений включает его. Вы не видите проблему, пока приложение не удастся установить на устройстве с iOS. |
| Сертификат подписи iOS | Прежде чем указывать сертификат, убедитесь в его действительности. Инструмент не проверка, истек ли срок действия сертификата при обработке приложений для iOS. Если указан хэш сертификата с истекшим сроком действия, средство обрабатывает и подписывает приложение, но его не удается установить на устройствах. Убедитесь, что сертификат, предоставленный для подписи упакованного приложения, совпадает в профиле подготовки. Средство не проверяет, совпадает ли профиль подготовки с сертификатом, предоставленным для подписи упакованного приложения. |
| Проверка подлинности | Для шифрования устройство должно иметь PIN-код. На устройствах, на которых развернуто упакованное приложение, при касании строки состояния на устройстве пользователю потребуется повторно войти с помощью рабочей или учебной учетной записи. Политикой по умолчанию в упакованном приложении является проверка подлинности при перезапуске. 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. |
| Настройка беспроводных аксессуаров | Включение беспроводной конфигурации аксессуаров добавляет в проект платформу внешних аксессуаров и позволяет приложению настраивать Made for iPhone (MFi) Wi-Fi аксессуаров. |
Действия по включению прав
Включите возможности в своем приложении:
А. В Xcode перейдите к целевому объекту приложения и выберите «Возможности».
Б. Включите соответствующие возможности. Подробные сведения о каждой возможности и способах определения правильных значений см. в статье Добавление возможностей в библиотеку разработчиков iOS.
c. Запишите все идентификаторы, созданные в ходе процесса. Эти идентификаторы могут называться значениями
AppIdentifierPrefix.d. Создайте и подпишите приложение, которое будет упаковано.
Включите права в профиле подготовки:
А. Войдите в Центр участников для разработчиков Apple.
Б. Создайте профиль подготовки для приложения. Инструкции см. в статье «Как получить необходимые условия для Intune App Wrapping Tool для iOS».
c. В профиле подготовки включите те же права, что и в приложении. Необходимо предоставить те же идентификаторы (
AppIdentifierPrefixзначения), которые вы указали при разработке приложения.d. Завершите работу мастера подготовки профиля и скачайте файл.
Убедитесь, что выполнены все необходимые условия, а затем оберните приложение.
Устранение распространенных ошибок с правами
Если в средстве App Wrapping Tool для iOS отображается ошибка предоставления прав, попробуйте выполнить следующие действия по устранению неполадок.
| Проблема | Причина | Решение |
|---|---|---|
| Не удалось проанализировать права, созданные приложением ввода. | App Wrapping Tool не может прочитать файл прав, извлеченный из приложения. Возможно, файл прав имеет неверный формат. | Проверьте файл прав для приложения. Ниже описано, как это сделать. При проверке файла прав проверка на наличие неправильно сформированного синтаксиса. Файл должен быть в формате XML. |
| В профиле подготовки отсутствуют права (перечислены отсутствующие права). Переупакуйте приложение с профилем подготовки с этими правами. | Существует несоответствие между правами, включенными в профиле подготовки, и возможностями, включенными в приложении. Это несоответствие также распространяется на идентификаторы, связанные с определенными возможностями (например, группами приложений и доступом к цепочке ключей). | Как правило, можно создать новый профиль подготовки, который включает те же возможности, что и приложение. Если идентификаторы профиля и приложения не совпадают, средство App Wrapping Tool заменяет идентификаторы, если возможно. Если эта ошибка по-прежнему возникает после создания нового профиля подготовки, попробуйте удалить права из приложения с помощью параметра –e (см. раздел Использование параметра –e для удаления прав из раздела приложения). |
Поиск существующих прав подписанного приложения
Чтобы просмотреть существующие права подписанного приложения и профиля подготовки, выполните следующие действия.
Найдите IPA-файл и измените его расширение на .zip.
Разверните файл .zip. В результате этого действия создается папка полезных данных, содержащая пакет .app.
Используйте средство совместного проектирования, чтобы проверка права в пакете .app, где
YourApp.appявляется фактическим именем пакета .app.codesign -d --entitlements :- "Payload/YourApp.app"Используйте средство обеспечения безопасности для проверка объема обслуживания встроенного профиля подготовки приложения, где
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> -ac <client ID of input app> -ar <redirect URI of input app> -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-адресов, и ОС определяет, какое приложение вызывается. Обратитесь к документации Apple в разделе "Определение пользовательской схемы URL-адресов для приложения " для получения рекомендаций по предотвращению конфликтов пользовательской схемы URL-адресов и рекомендаций по безопасности при обработке искаженных URL-адресов.