Подтвердить что ты не робот

Ошибка кодового знака в Xcode 8 и iOS 10 Cordova Project

У меня есть проект cordova, который я создаю и запускаю локально, развертывая его на своем iPhone и устройстве Android.

Однако после обновления до Xcode 8 и моего iPhone iOS до iOS 10 я не могу создать ipas локально. Он не работает со следующей ошибкой.

=== СТРОИТЬ ЦЕЛЬ ПРОЕКТ * С КОНФИГУРАЦИЕЙ Debug ===

Проверить зависимости Для подписи " *" требуется команда разработчиков. Выберите команду разработчика в редакторе проекта. ** Подписание кода требуется для типа продукта "Приложение" в SDK "iOS 10.0"

Это прекрасно работало перед обновлением. После обновления сборка для iOS завершается с ошибкой.

Соответствующие номера версий для проекта

ios-deploy -V - 1.8.6
xcodebuild -version - Xcode 8.0 Build version 8A218a

У меня есть моя настройка Xcode с соответствующими сертификатами и профилями подготовки.

4b9b3361

Ответ 1

Как отметил dpogue, кордова исправила эту проблему с фиксацией

92a62997adb3c8512328d5a0ae42fe5d156291f1

который находится в главной ветке своего репозитория платформы iOS.

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

cordova platform remove ios && cordova platform add https://github.com/apache/cordova-ios.git

И вам нужно добавить файл build.json в корневой каталог проекта, который выглядит следующим образом:

{
  "ios": {
    "debug": {
      "developmentTeam": "YOURTEAMID"
    },
    "release": {
      "developmentTeam": "YOURTEAMID"
    }
  }
}

Вы можете получить свой идентификатор команды здесь: https://developer.apple.com/account/#/membership

Теперь запустите свою сборку

cordova run ios --device 

... или указав свой файл build.json

cordova run --buildConfig=build.json ios --device

и он должен работать!

Ответ 2

Я написал об обходном пути, который я использовал для решения этой проблемы:
https://dpogue.ca/articles/cordova-xcode8.html

Напомним, что вам нужно указать свой идентификатор команды разработчика. В следующей версии Cordova-iOS вы можете сделать это с помощью developerTeam в файле build.json. Я крючок, доступный тем временем.

Вам также необходимо установить свой идентификатор подписи кода на "Разработчик iPhone", даже для версий выпуска. Сделайте это с помощью codeSignIdentity в файле build.json.

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

Надеюсь, что это поможет!

Ответ 3

Это работает для меня

 "ios": {
    "release": {
      "developmentTeam": "yourdevteamid",
      "packageType": "app-store",
      "provisioningProfile": "yourprovfileUUID"
    }
  }
}

Если я добавлю "codeSignIdentity": "iPhone Development", он не работает, поэтому удалите codeSignIdentity в файле build.json. Мне также пришлось добавить все иконки в config.xml

 <icon src="res/ios/[email protected]" width="180" height="180" />
        <!-- iOS 7.0+ -->
        <!-- iPhone / iPod Touch  -->
        <icon src="res/ios/icon-60.png" width="60" height="60" />
        <icon src="res/ios/[email protected]" width="120" height="120" />
        <!-- iPad -->
        <icon src="res/ios/icon-76.png" width="76" height="76" />
        <icon src="res/ios/[email protected]" width="152" height="152" />
        <!-- Spotlight Icon -->
        <icon src="res/ios/icon-40.png" width="40" height="40" />
        <icon src="res/ios/[email protected]" width="80" height="80" />
        <!-- iOS 6.1 -->
        <!-- iPhone / iPod Touch -->
        <icon src="res/ios/icon.png" width="57" height="57" />
        <icon src="res/ios/[email protected]" width="114" height="114" />
        <!-- iPad -->
        <icon src="res/ios/icon-72.png" width="72" height="72" />
        <icon src="res/ios/[email protected]" width="144" height="144" />
        <!-- iPhone Spotlight and Settings Icon -->
        <icon src="res/ios/icon-small.png" width="29" height="29" />
        <icon src="res/ios/[email protected]" width="58" height="58" />
        <!-- iPad Spotlight and Settings Icon -->
        <icon src="res/ios/icon-50.png" width="50" height="50" />
        <icon src="res/ios/[email protected]" width="100" height="100" />
        <!-- iPad Pro -->
        <icon src="res/ios/[email protected]" width="167" height="167" />

Ответ 4

У меня была такая же проблема с xCode 8 в сборке Apache Cordova для iOS, я пробовал все решения, которые я мог найти без каких-либо результатов, единственное, что работало, это указать команду разработчиков, тип пакета и файл инициализации в сборке. son file, как это:

{
  "ios": {
    "release": {
      "developmentTeam": "yourdevteamid",
      "packageType": "app-store",
      "provisioningProfile": "yourprovfileUUID"
    }
  }
}

Многие postst предлагают спецификацию "codeSignIdentity": "Разработчик iPhone", но это дало еще одну ошибку, только эта конфигурация работала для меня (возможно, что-то с тем, как были созданы сертификаты разработки?), надеюсь, что это кому-то поможет.

Ответ 6

Имел аналогичную проблему после обновления Xcode 8.2.1 и инструментов командной строки сопутствующего Xcode.

Решение, которое сработало для меня:

1) Открытые настройки Xcode → Аккаунты

2) Удалена существующая учетная запись (AppleID)

3) Добавлена ​​новая учетная запись с использованием AppleID

4) Выбрали новую учетную запись, которая откроет окно правой панели и нажмите "Просмотреть детали".

5) Создал новые идентификаторы подписи по мере необходимости и, в частности, "iOS Development". Нажмите "Готово".

После этого все мои приложения в Кордове позволили "кордове построить ios".

Ответ 7

Обновление кордовы ios 4.3.1 и указание файла build.json, как упоминалось выше, сделали трюк для меня (возможно, 4.3.0 включает исправление)

Чтобы обновить свою платформу:

Обновление платформы платформы cordova ios

Ответ 8

Наша пользовательская сборка script прошла sudo cordova build ios.

То, что работало для меня, заключалось в том, чтобы перестроить проект, не используя sudo исправление ошибок разрешения по мере необходимости. Затем удалил sudo из нашей сборки script, и все сработало.

** При первом создании команды указать команду в xCode.