Ошибка распространения приложения в MDM на iOS 8

У нас есть 3 корпоративных приложения для iOS, которые распространяются через MDM (Symantec App Center). У приложений есть политики безопасности, настроенные в центре приложений, что означает, что они повторно обертывают приложение библиотекой оболочки, прежде чем распространять это приложение. Это отлично работало до выпуска iOS 8. Когда вы пытаетесь запустить приложения на iOS 8, они сразу вылетают. Если я развертываю приложения непосредственно на том же iPad вне инструмента MDM, они работают нормально.

Журнал показывает

Сообщение об ошибке Dyld: Библиотека не загружена: @ исполняемый_путь / nukonize.dylib

(Nukona - оригинальное название Symantec App Center, и эта библиотека предназначена для их оболочки приложения).

На заметку: - Пробовал с другим MDM (AirWatch), и я обнаружил ту же проблему. - Поставщик отказывается от приложения со своими корпоративными сертификатами распространения, и они не видят проблемы. - Я подписываю приложение своим личным сертификатом распространения разработчика, мы не видим проблемы. - Развертываем приложение вне MDM-решений на том же iPad, проблемы не видим. - Развертываем на iPad с iOS 6.x или 7.x через MDM, проблемы не видим.

Чтобы исключить проблему с кодом, я создал приложение Hello World, которое не делает ничего, кроме отображения Hello World на экране. Разверните его через MDM, и у него та же проблема.

Все указывает на проблему с нашим сертификатом / учетной записью распространения, но я не могу представить себе, что это может быть. Мы будем очень благодарны за любые предложения, которые помогут решить эту проблему.


person Paul Hurley    schedule 19.01.2015    source источник
comment
Приложение начинает установку, доходит до конца, а затем выводит диалоговое окно, в котором говорится, что приложение не может быть установлено?   -  person Dan    schedule 21.02.2015


Ответы (1)


Приложение установится нормально. Проблема обнаружилась только при запуске. На экране запуска отображается очень короткое время, затем приложение вылетает.

Работая с AirWatch, мы обнаружили решение проблемы. Наш сертификат подписи был создан до выпуска iOS 8, и в нем отсутствовал элемент OU, который присутствует в сертификатах, созданных после iOS 8. Очевидно, он используется в процессе упаковки.

Нам пришлось создать новый сертификат распространения и подписать им приложение. Как только мы это сделали, приложение загрузилось правильно.

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

person Paul Hurley    schedule 23.02.2015