2015-08-20 7 views
1

В настоящее время мы пытаемся развернуть новую версию приложения iOS Enterprise через Управление мобильными устройствами после некоторых изменений архитектуры.Развертывание приложений для приложений iOS: профиль профилей для библиотек

Такое же приложение успешно использовалось несколько раз в прошлом, но недавно мы добавили библиотеку в приложение (чтобы повторно использовать некоторые наши коды в разных местах).

Приложение работает нормально, когда оно начато с Debugger, но сразу же после сбоя происходит сбой при его подписании и развертывании через Управление мобильными устройствами. iOS Crashlog показывает, что библиотека, которую мы добавили, существует, но не загружена.

Сообщение об ошибке гласит:

Dyld Error Message: 
Library not loaded: @rpath/MYAPPLib.framework/MYAPPLib 
Referenced from: /private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/MYAPP_iOS 
Reason: no suitable image found. Did find: 

/private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/Frameworks/MYAPPLib.framework/MYAPPLib: mmap() error 1 at address=0xXXXXXXXX, size=0xXXXXXXXX segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/Frameworks/MYAPPLib.framework/MYAPPLib 

(имя Идентификатор пакета и приложения были изменены)

Мы подозреваем, что это может быть вопрос подписания. После архивирования продукта и экспорта («Сохранить для предприятий развертывания»), мы заметили, что ни Provisioning Profile не выбран для указанной библиотеки (см скриншот ниже) screenshot of the Export process from xcode

Короче говоря, вопрос: Нужно для библиотеки в приложении iOS иметь профиль Provisioning? Если да, то как я могу его назначить?

ответ

0

Хорошо, поэтому мы по-прежнему не уверены, в чем проблема. Но мы можем сказать, что ошибка была решена , выпустив новый сертификат разработчика. Поэтому, если вы столкнулись с одной и той же проблемой, возможно, вы тоже захотите попробовать это.

-1

С консоли видно, что приложение не находит файл фреймворка.

  1. Убедитесь в вашей сборке настройки вы установите Runpath поиска путей к @executable_path/Frameworks
  2. Убедитесь в Строительства фазам, чтобы ваши рамки под Embed рамочные.
  3. Добавьте свою фреймворк в Link Binary With Libraries.

Если ваш фреймворк разработан в рамках одного проекта, убедитесь, что вы его используете в разделе «Копировать файл» в разделе «Фазы сборки».

+0

Привет, Алекс, спасибо за ваш вклад. Все ваши предложения были реализованы, но одна и та же ошибка сохраняется. Знаете ли вы, что у фреймворков обычно есть собственный профиль обеспечения? У меня разные профили для самого приложения и расширения для общего доступа, но для Framework-файла нет (см. Скриншот в оригинальном вопросе). Я не уверен, что это проблема. – GuyMontag

Смежные вопросы