2017-02-09 4 views
0

В настоящее время я работаю над настройкой iOS под названием «LockWatch», которая должна отображать на экране блокировки watchOS-подобных лиц. Эта настройка включает в себя базовую систему плагинов, которая загружает пакет (name.watchface) из указанного каталога, который работает до сих пор.iOS: подпись кода недействительна/требуется идентификация кода отсутствует

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

У меня было это работает на iOS 9, добавив право «com.apple.backboard.client» (потому что в журналах говорилось, что это конкретное право не было и поэтому SpringBoard рушился).

Проект самого пакета - это простой проект Xcode, созданный с помощью цели «Bundle» с вкладки macOS, базовый SDK установлен на «Последний iOS (10.2)».

Я попытался следующие методы подписи:

  • Не подписывая на всех
  • Xcode управляемого подписания
  • Xcode ручной подписи (как для отладки и выпуска)
  • Подписание с ldid без правовые нормы
  • Подписание с ldid с правами

Бревно измененного между этими двумя текстами:

SpringBoard(CoreFoundation)[PID] <Notice>: Error loading /var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype: dlopen(/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype, 265): no suitable image found. Did Find: 
/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype: required code signature missing for '/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype' 

SpringBoard(CoreFoundation)[PID] <Notice>: Error loading /var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype: dlopen(/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype, 265): no suitable image found. Did Find: 
/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype: code signature invalid for '/var/mobile/Library/LockWatch/Watch Faces/prototype.watchface/prototype' 

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

ответ

0

Кажется, я, наконец, решил это сам.

Как оказалось, пучки часов не были вообще подписаны (отсюда сообщение required code signature missing).

Я добавил Run Script фазу в пучках, содержащих следующий сценарий:

/usr/bin/codesign --force --sign - --timestamp=none $CODESIGNING_FOLDER_PATH/$PRODUCT_NAME

Я пришла в голову мысль, когда я исследовал другой вопрос о подписании кода, в котором кто-то предложил, чтобы очистить содержимое _CodeSignature папка. Который, по-видимому, отсутствовал в моей сборке.

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