Может ли приложение iOS извлечь некоторую переменную среды из корпоративного MDM? - PullRequest
0 голосов
/ 17 октября 2018

У нас есть приложение, разработанное для нас компанией-разработчиком программного обеспечения.Мы хотим, чтобы приложение было опубликовано в официальном Apple App Store, а затем доставлено в наш корпоративный App Store.Можно проверить некоторую переменную среды при запуске приложения таким образом, чтобы, если оно содержит определенное значение, оно подключалось к нашему серверу, а если оно запускалось из Apple App Store - оно подключалось к другому серверу.Это может выглядеть примерно так:

if (mdm.companyName() == "My company":
   connect to my company server
else:
   connect to something else

Цель этого состоит в том, чтобы при запуске у нас было бы на один шаг меньше, и пользователь должен был бы только передать имя пользователя и пароль, но не серверaddress.

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

Любые предложения о том, как обойти это будет приветствоваться.Я пытался получить эту информацию отсюда, но не смог ничего найти: https://developer.apple.com/enterprise/documentation/MDM-Protocol-Reference.pdf

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Да, вы можете, но поддержка должна быть встроена в приложение.

Ряд поставщиков MDM / EMM поддерживают стандарт AppConfig .

Microsoft InTune не указан на сайте, но я считаю, что InTune может выдвигать необходимые файлытоже.

Использование Конфигурация управляемого приложения XML-файл отправляется на устройство при распространении приложения из корпоративного магазина приложений.Содержимое этого файла доступно в виде словаря от UserDefaults до клавиши com.apple.configuration.managed.

Если этот ключ присутствует, то приложение может извлечь соответствующее значение, например адрес сервера.Если его нет, он может использовать значение по умолчанию.

0 голосов
/ 17 октября 2018

Я думаю, что будет невозможно "вытянуть приложение во внутренний корпоративный магазин приложений".

Приложения AppStore должны быть подписаны вашим "обычным" сертификатом разработчика, тогда как приложения Enterprise должны быть подписанысертификатом разработчика "Enterprise".

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

  • один для Apple AppStore, с другим URL-адресом сервера, который затем будет проверен и т. д.
  • один для вашего внутреннего корпоративного магазина приложений, с внутренним URL-адресом сервера

Так во время сборкивы решаете, создавать ли вы для Apple AppStore или Enterprise и предоставлять разные файлы конфигурации.

Поскольку Apple не просматривает корпоративные приложения, вы можете использовать внутренние URL-адреса без каких-либо ограничений.

...