Ошибка XCode при запуске на подключенном устройстве: "исполняемый файл подписан с недопустимыми правами"
Описание проблемы
Я работаю над приложением на основе ReactNative 0.40, я использую Fastlane для бета-развертываний и использую Match для управления своими профилями подписи. Большинство вещей работает, как ожидалось, однако:
Проблема: когда я пытаюсь запустить свое приложение на физическом устройстве непосредственно из Xcode 8, это выдает мне эту ошибку:
Вот что я попробовал:
- [x] Следуйте инструкциям Apple по устранению неполадок с правами.
- [x] убедился, что права, выбранные на экране "Возможности" XCode, совпадают с правами, выбранными в идентификаторе приложения на панели разработчика.
- [x] Перезапущенный матч. т.е.
fastlane match development
fastlane match adhoc
fastlane match appstore
- [x] Ран
fastlane match decrypt
а потомsecurity cms -D -i /path/to/***.mobileprovision
, Хотя я не совсем уверен, что я ищу, что отсутствует / дополнительный / недействительный.
Вопросы:
Какими должны быть эти настройки как для проекта, так и для цели?
Какой идентификатор подписи следует использовать для запуска приложения на устройстве из xcode во время разработки?
Что еще я могу попытаться устранить это?
1 ответ
... и, наконец, исправил это. На случай, если какая-то другая бедная душа крутит свои колеса, вот что было сломано в моем случае.
Идентификатор приложения на портале разработчика имеет 3 варианта защиты данных:
Тем не менее, Xcode не:
В любом случае настройка должна совпадать, поэтому я не заметил, что файл прав был установлен на NSFileProtectionComplete
в отличие от NSFileProtectionCompleteUntilFirstUserAuthentication
Внесение этого изменения, наряду с переключением на автоматическую подпись (что в ретроспективе могло не иметь никакого эффекта), устранило проблему. Я могу вернуться к профилям разработки, управляемым соответствием, и посмотреть, что произойдет.
Я получил эту ошибку из-за попытки построения с неправильной схемой. Я по ошибке использовал конфигурацию выпуска вместо конфигурации отладки
Поэтому дважды проверьте, выбрана ли правильная конфигурация схемы / сборки