Исполняемый файл был подписан с недействительными правами - 0xe8008016

Я пытался запустить свое приложение на устройстве с xcode, это ионное приложение с xcode 9, у меня не было проблем, но, поскольку я обновился до xcode 10, я продолжаю получать это сообщение об ошибке каждый раз:

Права, указанные в файле "Права для подписи кода" вашего приложения, являются недействительными, недопустимыми или не соответствуют тем, которые указаны в вашем профиле обеспечения (0xE8008016).

Я перепробовал все, что нашел в Интернете

1. дополнительные возможности,

2. изменить настройки сборки,

3.config.xml.

1 ответ

Решение

Если вы используете Xcode 10, вам нужно изменить систему сборки в настройках рабочего пространства на "Legacy Build System"

  • Файл >> Настройки рабочего пространства..
  • Установите систему сборки на "Legacy Build System"

Более подробную информацию можно найти здесь: https://github.com/apache/cordova-ios/issues/407

Это случилось со мной, потому что я загрузил профиль обеспечения распространения в отладке подписи, когда я заменил его на профиль обеспечения разработки, все работало хорошо для меня.

Чтобы избежать использования Legacy Build System, вы можете добавить непосредственно в info.plist недостающие права доступа с соответствующим ключом и прокомментировать эту строку в build.xconfig

//CODE_SIGN_ENTITLEMENTS = $(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-$(CONFIGURATION).plist

Пример этого ключи в Entitlements-Debug.plist больше не действительны.

<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>

Они могут быть добавлены в info.plist как

<key>DataProtectionClass</key>
<string>NSFileProtectionComplete</string>

Это должно быть исправлено в cordova-ios версии 5.0.0, см. https://cordova.apache.org/announcements/2019/02/09/cordova-ios-release-5.0.0.html.

cordova platform remove ios
cordova platform add ios@5.0.0