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

Любая помощь будет принята с благодарностью.

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

Любая помощь будет принята с благодарностью.

Ответы:
Я не уверен, почему это исправило это, но я зашел на вкладку Возможности моей цели, включил iCloud, попытался выполнить сборку архива, это не удалось, я снова выключил iCloud, попытался выполнить сборку архива, и это удалось, и после этого он снова смог автоматически разрешить сертификаты.
Щелкните правой кнопкой мыши Finder -> Перейти к папке ...
~/Library/MobileDevice/Provisioning
Для Xcode 11
~/Library/MobileDevice/Provisioning Profiles/
Удалите все профили обеспечения, готово.
~/Library/MobileDevice/Provisioning Profiles/
Созданное вами приложение имеет неверное application-identifierзначение, соответствующее ожидаемому профилю обеспечения. Сертификат для appID com.example.foo для команды 2ABCDEFG будет ожидать идентификатор приложения: 2ABCDEFG.com.example.foo, ваше приложение объявило, что его appID был com.example.foo, но идентификатор приложения не соответствует , либо вы используете неправильный префикс команды, либо у вас неверно настроен идентификатор пакета.
В моем случае я использую схемы сборки, которые позволяют мне создавать приложение prod и приложение qa. com.example.foo для prod и com.example.foo.qa для QA. Я установил для своего bundleIdentifier в Info.plist значение $ (PRODUCT_BUNDLE_IDENTIFIER) $ (BUNDLE_SUFFIX), что отлично работает в симуляторе и на устройстве для различных приложений, однако, когда приложение генерирует свой идентификатор приложения на этапе архивирования, оно не должен читать bundleIdentifier, созданный Info.plist.
Чтобы исправить ситуацию, я отредактировал FooProject.xcodeproj / project.pbxproj (с помощью текстового редактора), чтобы изменить мои параметры сборки QA PRODUCT_BUNDLE_IDENTIFIER на com.example.foo.qa
Вы можете посмотреть технические вопросы и ответы Apple, чтобы увидеть, как они подробно разбираются в решении этой проблемы. После того, как вы запустите права codeign в своем экспортированном приложении и посмотрите, с каким идентификатором приложения было только что создано ваше приложение, должно быть довольно быстро понять, что вы делаете не так. https://developer.apple.com/library/content/qa/qa1879/_index.html Я не нашел эту страницу в моем поиске Google, потому что они фактически не используют фразу из сообщения об ошибке или не вызывают приложение -идентификатор по его полному имени, но вместо этого укажите идентификатор приложения.
Кроме того, решение этой проблемы заключается не в создании нового профиля подготовки, у которого есть право на идентификатор приложения, у него есть это право, однако значение в профиле подготовки и ваше приложение должны совпадать.
Возможно, отсутствует файл {project} .entitlements. Выполнение того, что упомянул @samkass, автоматически сгенерирует файл, и он будет работать. Так что просто перейдите на вкладку возможностей, включите что-нибудь и отключите.
Переключение переключателя iCloud на включение, создание и отключение iCloud позволило избавиться от ошибки, в которой говорилось, что:
Профиль не совпадает со значениями файла полномочий для прав доступа идентификатора приложения и связки ключей.
В Xcode 11 это могло произойти, когда для вашего проекта нет файла .entitlement. Решением было бы добавить любую случайную возможность, щелкнув «+ Capability» в «Signing & Capabilities» (что приводит к созданию файла .entitlement), а затем удалить эту возможность. Это также позволит вам автоматически предоставить сертификат.
Пожалуйста, проверьте функции вашего приложения, которые требуются для вашего приложения, такие как покупка в приложении, push-уведомление, аудио Inter App, набор Siri и т. Д.
Это единственная причина ошибок такого типа.
Убедитесь, что в вашем идентификаторе приложения должны быть включены указанные выше флаги.
В большинстве случаев это происходит, когда вы не настроили push-уведомление, когда вы покупаете приложение в ID приложения разработки.
Для меня уловка заключалась в том, чтобы
В моем случае проблема заключалась в следующем: профиль подготовки, используемый для этапа сборки, был создан для другого идентификатора приложения, чем профиль обеспечения, используемый для этапа экспорта.
Поэтому убедитесь, что вы используете один и тот же профиль подготовки для этапов сборки и экспорта.
Возможности перекрестной проверки в приложении с параметрами, которые вы включили для своего идентификатора приложения в учетной записи разработчика.
TL; DR: проверьте свой идентификатор приложения и убедитесь, что службы соответствуют тому, что указано в вашей цели.
Со мной случилось то, что я позволил Xcode 10.1 помочь мне создать идентификатор приложения, и после этого я столкнулся с проблемой, как описано здесь. (Я выбрал идентификатор приложения whildcard, когда создавал приложение в iTunesConnect, поэтому я даже не понял, что это было сделано.) Когда я открыл портал разработчика iOS, для нового идентификатора приложения были автоматически включены Game Center и In App Purchase.
Поскольку мне не удалось включить Game Center в вашем приложении Target -> Capabilities, я включил In App Purchase, после чего мое приложение можно было подписать и загрузить.
Когда мы столкнулись с той же проблемой, мы попробовали все вышеперечисленное, но ничего из этого не сработало.
У нас сработало изменение идентификатора пакета, чтобы он не был идентичен предыдущему, например, «com.name.App» на «com.name.App2»; пусть xcode попытается получить / создать профиль обеспечения, а затем вернуть его к исходному.
Получил эту идею из этой темы на форумах разработчиков Apple - https://forums.developer.apple.com/thread/114539
Я недавно наткнулся на эту страницу после попытки создать повторяющуюся цель - ни одно из предложений не помогло мне. Дальнейшее расследование и некоторое количество выдергивания волос в конечном итоге привели меня к поиску настроек сборки для моего приложения, чтобы попытаться выяснить, что не так.
Оказалось, что мой проект все еще указывал на файл полномочий ОРИГИНАЛЬНОЙ цели, а не на собственный. Чтобы решить эту проблему, я перешел к исходному файлу прав в Finder (например, $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ), создал копию в той же папке, а затем переименовал ее (например, NewTargetName.entitlements).
Затем я открыл свой новый файл прав и изменил поле идентификатора приложения, чтобы оно соответствовало окончанию идентификатора пакета моей новой цели (например, ABCDEFGH.US.co.fake-company.superduperapp-newtargetname ).
Наконец, я обновил поле «Права на подписание кода» в настройках сборки, указав путь к моему файлу прав (для меня это было что-то вроде $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ).
Я вернулся на вкладку «Подпись и возможности», и вот, проблема была устранена. Надеюсь, кто-то найдет это полезным.
У меня была эта проблема с новым приложением в Xcode 12 beta 3 ( отправка приложений началась сегодня ).
В Xcode было включено «Автоматическое управление подпиской». Однако идентификатор группы, отображаемый в «Сертификате подписи», не совпадал с идентификатором группы, отображаемым на веб-сайте iTunes Connect. Это была основная причина, препятствовавшая загрузке приложения.
Как я это исправил:
Я столкнулся с той же проблемой при настройке конвейера Gitlab, который запускает команду exportArchive и загружает в AppStore. Мне удалось заставить его работать, изменив DEVELOPMENT_TEAM в настройках сборки на ту же команду, которая была выбрана в Signing & Certs.
Потому что ранее он был пустым, что по умолчанию использовало другой идентификатор КОМАНДЫ РАЗРАБОТЧИКОВ, который был неправильным и не совпадал, и он жаловался на несовпадение "application-identifier" = 12331232.com.bannana.apples.peach. Это привело меня к настройке правильной КОМАНДЫ РАЗРАБОТЧИКОВ, и это сработало.
Xcode ver: версия 11.3.1
Надеюсь, это кому-нибудь поможет.
Несколько целей:
... и используйте iCloud.
Включение и выключение iCloud не было для нас вариантом. Мы уже используем его в продакшене и не будем с ним связываться ... В какой-то момент я получил исходное сообщение вопроса и этот вариант:
Профиль не совпадает со значениями файла полномочий для прав доступа идентификатора приложения и связки ключей.
На основании других ответов здесь мы позаботились о том, чтобы у всех целей был .entitlementsфайл. Если у цели не было ничего, мы создали пустую, например:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>
... и указал его цель Code Signing Entitlementв Build Settingsпустой .entitlementsфайл.
Решено!
Удалить все профили, расположенные в ~/Library/MobileDevice/Provisioning Profiles/
entitlements.plistфайл.