Невозможно запустить приложение на устройстве: фреймворки iOS 9 не будут кодировать

Я обновляю приложение с целью развертывания iOS 7, чтобы оно могло работать с iOS 9. Кроме того, я добавляю несколько интересных функций iOS 8 и 9. Я прочитал много статей об обратной совместимости версий, и теперь, когда Swift 2.0 делает это проще. Вещи, о которых я позаботился до сих пор:

  • Наличие базового SDK, установленного на iOS 9, и цели развертывания, установленной на версии 7.
  • Проверка версии во время выполнения с помощью if #available(iOS 9.0, *) при использовании новых API
  • Необязательное связывание фреймворков только для iOS9, как показано здесь:Frameworks

Как видите, я использую два новых фреймворка: ContactsUI и CoreSpotlight. Когда я запускаю приложение в симуляторе, оно работает отлично, но когда я пытаюсь собрать и запустить его на своем устройстве (на котором, очевидно, работает iOS 9), я получаю следующую ошибку подписи кода:

/path/to/a/file.framework: bundle format unrecognized, invalid, or unsuitable
Command /usr/bin/codesign failed with exit code 1

Эта ошибка появляется дважды как для платформы ContactsUI, так и для CoreSpotlight.

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

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

Заранее спасибо, если вам нужна дополнительная информация, просто прокомментируйте.


person Marc    schedule 02.09.2015    source источник


Ответы (2)


Я решил проблему, просто удалив фреймворки из списка Встроенные двоичные файлы. Теперь у меня все мои фреймворки только в списке Связанные фреймворки и библиотеки:

введите здесь описание изображения

person Marc    schedule 26.09.2015
comment
Это работает только до тех пор, пока вы не запустите приложение и не попытаетесь динамически связать его с этими фреймворками. Он очень злится, когда обнаруживает, что их там нет. - person aroth; 27.03.2016

Предлагаем вам выполнить следующие действия

Выйдите из xcode, очистите папку производных данных, откройте xcode, очистите папку проекта, повторно выполните сборку на устройстве.

person AkhilS    schedule 14.09.2015