Теперь я пытаюсь «Продукт»> «Заархивировать» свое приложение iOS для отправки. Однако я получаю следующие ошибки:

AppName имеет конфликтующие настройки синхронизации. AppName автоматически подписывается для разработки, но вручную указан конфликтующий идентификатор подписи кода для iPhone. Установите для идентификатора подписи кода значение iPhone Developer в редакторе настроек сборки или переключитесь на ручную подпись в редакторе проекта.

Для типа продукта «Приложение» в SDK «iOS 10.1» требуется подпись кода

Ситуация не изменится даже в тех случаях, когда я повторю весь процесс для воссоздания сертификатов iOS или профиля подготовки.

Я был настроен как Распространение iOS в ЦЕЛИ> Идентификация подписи кода> Выпуск> Любой SDK iOS. Когда я изменил настройку здесь iOS Developer и изменил настройку в PROJECTS> Идентификация подписи кода> Release> Any iOS SDK as iOS Distribution, я ' мне удалось заархивировать. Мне интересно, нужно ли устанавливать iOS Distribution в целевом редакторе или нет. И если это обязательно, дайте мне знать, как мне обойти эту ошибку.

Моя версия XCode - 8.1.

vanagar

Ответов: 31

Ответы (31)

У меня была такая же ошибка, но я уже проверял «Автоматически управлять подписью».

Решение заключалось в том, чтобы снять отметку с него, затем снова поставить отметку и повторно выбрать команду. Затем Xcode самостоятельно исправил все, что вызывало проблему.

В моем случае я установил опцию «автоматический» в настройках сборки.

enter image description here

Для тех, кто прибывает из Ionic или Cordova, вы можете попробовать следующее:

Откройте файл yourproject / platform / ios / cordova / build-release.xcconfig и измените его:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

в это:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

и попробуйте снова запустить ios cordova build ios --release, чтобы скомпилировать сборку выпуска.

Ссылка: https://forum.ionicframework.com/t/ios-build-release-error-is-automatically-signed-for-development-but-a-conflicting-code-signing-identity-iphone-distribution-has-been-manually-specified/100633/7

Убедитесь, что "Product Bundle Identifier" в названии настроек сборки совпадает с фактическим идентификатором пакета. У меня это сработало.

В моем случае мне пришлось войти на сайт разработчика Apple и сбросить список устройств.

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

Перейдите к настройкам сборки, найдите идентификатор подписи кода и установите значение Any iOS SDK для iOS Developer:

enter image description here

У меня была такая же проблема, я заметил, что если вы хотите выпустить свое приложение iOs и опубликовать его в App Store, вам вообще не нужно указывать «Идентификатор подписи кода» в качестве выпуска, просто оставьте его как разработчика iOs.

Перейдите в «Ваш проект» -> «Настройки сборки» -> «Идентификация подписи кода» и передайте все разработчику iOs.

enter image description here

Я открыл файл проекта в текстовом редакторе «Атом», затем поискал идентификатор профиля обеспечения и удалил его.

Не забудьте это сделать,

Выберите Project -> Build Settings. Найдите PROVISIONING_PROFILE и удалите всю чушь.

Единственное, у меня работало.

Откройте проект -> Выберите цель -> Перейдите в Настройки сборки -> Поиск и удалите выбранные профили.

Для меня изменить Идентификатор подписи кода для всех iOS Developer для Debug и Release.

и Стиль подписи кода * от до Автоматически.

enter image description here

Найдите файл .xcodeproj и откройте его в текстовом редакторе

Найдите поля ниже и сделайте их такими

CODE_SIGN_IDENTITY = «Разработчик iPhone»; "CODE_SIGN_IDENTITY [sdk = iphoneos *]" = "Разработчик iPhone";

PROVISIONING_PROFILE = "";

PROVISIONING_PROFILE_SPECIFIER = "";

Использование Xcode 10: Ни одно из других решений здесь не помогло мне.

This error appears to be something you can't fix in Xcode 10

Мне пришлось вернуться к Xcode 9, чтобы решить эту проблему, а затем вернуться к Xcode 10, чтобы я мог запускать свое приложение на iOS 12 на устройстве без эмулятора.

Любые другие решения, найденные в Stack Overflow или где-либо еще, используемые в Xcode 10, отправили меня в бесконечный цикл конфликтов инициализации или проблем с подписью сертификатов. Похоже, что в Xcode 10 подписание не работает, независимо от того, используете ли вы автоматический метод или вручную выбираете профили обеспечения и сертификаты.

Вы можете вернуться к Xcode 9, сначала удалив Xcode 10 из папки Applications. Затем установите Xcode 9, используя файл .xip, указанный на этой странице разработчиков Apple.

В Xcode 9 используйте опцию автоматической сборки. Возможно, вам придется снять флажок «Автоматически управлять подписью» и снова выбрать его, а также вам может потребоваться отозвать существующий сертификат на developer.apple.com.

После того, как вы получите приложение для успешной сборки в Xcode 9, вы можете обновить его до Xcode 10, используя App Store. После повторного открытия приложения в Xcode 10 все по-прежнему работало. Возможно, вам это не понадобится, но мне нужно было сделать сборку для iOS 12, для которой требуется Xcode 10.

Другой возможной причиной этого является использование обычного branch-cordova-sdk плагина.

По какой-то причине плагин перезаписывал идентификаторы подписи кода, которые были правильно установлены в build.json при запуске ionic cordova build ios.

Я отследил это до идентификаторов, которые были установлены в файле /plugins/branch-cordova-sdk/src/scripts/ios/enableEntitlements.js

Убедитесь, что оба значения отладки и выпуска установлены на «iPhone Developer», и это избавит вас от необходимости вручную исправлять в настройках сборки XCodes после каждого процесса сборки

  const DEBUGCODESIGNIDENTITY = "iPhone Developer";
  const RELEASECODESIGNIDENTITY = "iPhone Developer"; // NOT "iPhone Distribution"

Этого не происходит на другом компьютере с тем же проектом / плагином, поэтому неуверенная точная основная причина, но совместное использование на случай, если это поможет другим, так как это заняло несколько часов.

Он был найден путем поиска вхождений «iPhone Distribution» в папке проекта. Сделайте то же самое, чтобы определить любой другой плагин / библиотеку, которые могут вам мешать.

После обновления до Xcode 8.3.2 у меня была такая же ошибка с проектом Cordova. Мне нужно было обновить Cordova (v7.0.0) и платформу iOS (v4.4.0), чтобы подписывание кода работало.

Для тех, кто прибывает из Ionic или Cordova, вы можете попробовать следующее: Отключите свои устройства ios от компьютера до ios cordova build ios --release (похоже, меняет целевое устройство для подписи xcode).

Что касается меня, я перетащил двоичный файл dump_syms и кучу скриптов в свою цель сборки, когда я вручную установил Firebase SDK. Удаление их из моей цели и проекта решило проблему.

У меня была такая же проблема. Я понял, что это потому, что я использовал xcode, пока использовал его. Поскольку обновления устанавливались некорректно, это привело к появлению этих ошибок. Единственное, что исправило, - это выйти из xcode и снова открыть его. Когда я снова его открыл, мне было предложено установить обновления. После установки обновлений ошибки исчезли.

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

  1. Общие -> Подписание -> установите флажок автоматически управлять подписанием и выберите команду

  2. Настройки сборки -> Подпись -> Идентификация подписи кода -> УСТАНОВИТЬ ВСЕ ДЛЯ «Разработчик iOS»

Вам необходимо добавить производственный сертификат и (или) загрузить его со своего аккаунта разработки

enter image description here

У меня была такая же проблема Моя была исправлена ​​поиском "профиля подготовки" в настройках сборки расширения общего ресурса

Тогда там было два поля "Provisioning Profile", одно обычное и одно устаревшее. Обычный был на Автоматическом, а устаревший - нет. Изменение этого параметра на Автоматический тоже устранило мою ошибку.

Долго боролся, все предложенные решения перепробовал. У меня ничего не работает.

Затем я обнаружил проблему: в конце вкладки «Параметры сборки» были «Пользовательские настройки» для «PROVISIONING_PROFILE». Я удаляю его как для настроек проекта, так и для целевой сборки. Тогда автоматическая подпись сработала идеально.

Надеюсь, это кому-нибудь поможет. :)

У меня сработало единственное решение:

  1. Закрыть проект Xcode
  2. Используя Finder, перейдите в папку проекта
  3. Щелкните правой кнопкой мыши .xcodeproj и выберите «Показать содержимое пакета»
  4. Щелкните правой кнопкой мыши project.pbxproj, перейдите в «Открыть с помощью» и выберите TextEdit
  5. Теперь найдите свой instanceId профиля ProvisionId, указанный в сообщении об ошибке.
  6. Удалите все найденные тексты и позвольте Provisioning Profiles очистить.
  7. Сохранить и закрыть
  8. Открыть Xcode
  9. Включить автоматическое управление подписью

Наслаждайтесь! Надеюсь, это будет полезно!

Если вы из ионного мира. Вы можете получить ошибку «подписание кода конфликта» на этапе «архивирования», как показано ниже:

... автоматически подписывается для разработки, но конфликтующий код идентификация подписи iPhone Распространение было указано вручную. Набор значение идентификатора подписи кода для "iPhone Developer" в сборке в редакторе настроек или переключитесь на ручную подпись в редакторе проекта. Подпись кода требуется для типа продукта "Приложение" в SDK "iOS". 10.x '

В этом случае перейдите в «Настройки сборки» / в разделе «Подпись», «Идентификатор подписи кода» и выберите оба параметра как «Разработчик iOS, а не« Распространение ».

Снова зайдите в меню: Продукт / Архив, проблема будет устранена.

Если вы получите эту ошибку

Приложение имеет конфликтующие настройки синхронизации. Приложение автоматически подписывается, но идентификатор профиля подготовки был указан вручную. Задайте для профиля подготовки значение «Автоматически» в редакторе настроек сборки или переключитесь на подпись вручную в редакторе проекта.

затем убедитесь, что у вас пустая опция PROVISIONING_PROFILE в Target Build Settings:

enter image description here

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

Шаг первый: ни в коем случае не пытайтесь установить параметры подписи кода в параметрах сборки. Не подходи к ним. Вы абсолютно все испортите. Вместо этого отредактируйте цель и выполните всю работу на панели «Общие». Лучший подход: настройте себя для автоматической подписи кода - просто введите свою команду и установите флажок, например:

enter image description here

Шаг второй: Убедитесь, что у вас есть идентификатор распространения iOS (сертификат). Вы можете проверить это в разделе «Настройки Xcode»> «Учетные записи», «Просмотреть подробности». Также было бы неплохо в это время пойти в центр для участников, получить себе мобильное приложение App Store для этого приложения, а также загрузить и установить его.

Шаг третий: Выберите «Обычное устройство iOS» в качестве пункта назначения и выберите «Продукт»> «Архивировать». Приложение будет скомпилировано, архив создан, и теперь вы готовы к отправке в App Store.

У меня это отлично сработало.

Шаг 1:

Выберите цель проекта -> Параметры сборки. Найдите PROVISIONING_PROFILE и удалите всю чушь.

Шаг 2:

Снимите флажок «Автоматически управлять подписанием», затем снова установите флажок и повторно выберите команду. Затем Xcode самостоятельно исправит все, что вызывало проблему.

enter image description here

Проблема в настройках Кордовы.

Обратите внимание на это:

iPhone Distribution has been manually specified

Для меня это не имело никакого смысла, поскольку я настроил проект на автоматический вход в xcode. Как и у вас, проверка и снятие флажка не сработали. Но затем я прочитал последний указанный путь к файлу и пошел по нему. Путь к файлу: APP> Platforms> ios> Cordova> build-release.xconfig

И в этом файле iPhone Distribution явно задан для CODE_SIGN_IDENTITY.

Изменить:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

Кому:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

Это простая вещь, и сообщение об ошибке ясно дает понять, что распределение iPhone было указано вручную, но на самом деле не говорит, где, если вы не следуете по пути. Я смотрел и возился с xcode около трех часов, пытаясь понять это. Надеюсь, это поможет кому-нибудь в будущем.

Измените код входа на сертификат назначения.

Попробуйте один из следующих

1.Удаление и добавление платформы ios и пересборка проекта для ios

ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release

2. Изменение настроек сборки Xcode

Решение заключалось в том, чтобы снять отметку с него, затем снова поставить отметку и повторно выбрать команду. Затем Xcode самостоятельно исправил все, что вызывало проблему.

3. Измените следующий код в платформе

Для меня это не имело никакого смысла, поскольку я настроил проект на автоматический вход в xcode. Как и у вас, проверка и снятие флажка не сработали. Но затем я прочитал последний указанный путь к файлу и пошел по нему. Путь к файлу: APP> Platforms> ios> Cordova> build-release.xconfig

И в этом файле распределение iPhone явно задано для CODE_SIGN_IDENTITY.

Изменить:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

Кому:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

2022 WebDevInsider