Я создал новое приложение, которое будет поддерживать IOS 7. Я получил новый XCode 5 GM и попытался подписать свои приложения, используя свой новый профиль обеспечения и сертификат распространения, но у меня проблемы с распространением. Я постоянно получаю следующую ошибку:
«Недопустимые права подписи кода. Права в подписи комплекта приложения не совпадают с теми, которые содержатся в профиле обеспечения. В соответствии с профилем обеспечения пакет содержит ключевое значение, которое недопустимо:» [XXXX.com.sample .company] 'для ключа' keychain-access-groups ".
Также та же ошибка для значения ключа называется application-identifier
.
Снимок экрана с ошибкой:
источник
Если вы похожи на меня и думаете, что пробовали ВСЕ , архивировали свой проект более десяти раз, стучали головой по клавиатуре и все еще получали эту ошибку. Пожалуйста, сделайте себе одолжение и просто перезапустите XCode , у меня это сработало. Когда-нибудь Эппл ... я тебя ненавижу.
источник
Я прошел через многие из вышеперечисленных шагов, но в итоге мне удалось обновить свои профили в Xcode. Не уверен, почему это было необходимо, поскольку профиль распространения моего приложения уже появлялся в списке. Вот шаги:
источник
В моем случае я активировал те же возможности в XCode, что и в службах приложений на developer.apple.com. Это работает для меня
источник
В моем случае (извините) я переключил «Команда» на «Нет» в -> Общие -> Идентичность
В другом случае мне нужно было переключить это удостоверение с «Нет» на учетную запись разработчика, управляющую удостоверениями и профилями.
Кажется, Xcode иногда сильно портится при подписании кода. Или мы, простые смертные, просто не достаточно умны, чтобы понять, что они делают, конечно. Не сдавайтесь, мы все время от времени испытываем пытки при подписании кода!
источник
В моем случае мне пришлось установить правильный профиль обеспечения для выпуска, а затем пришлось перезапустить Xcode. До перезапуска он имел тот же профиль обеспечения и не работал. Так что, иногда перезагрузка может творить чудеса. Может быть, это кому-нибудь поможет.
источник
Если кто-то использует GameCenter, проверьте этот раздел в своей цели. Я работал с каким-то старым проектом и было 2 ошибки (но все работало нормально). Отключение и включение обратно решило эту проблему.
Скорее всего, это действие добавляет право Game Center к идентификатору приложения и обрабатывает его самостоятельно.
источник
1. Перейдите в папку проекта, удалите файлы * .entitlements. 2. Затем перейдите в цель проекта xcode -> настройки сборки -> права подписи кода - удалите значения 3.Clean 4.Run
источник
Ах, эта славная ошибка. Для меня всякий раз, когда я вижу эту ошибку, я проверяю следующие вещи:
1. Разрешите XCode постоянно получать доступ к информации вашего профиля обеспечения - если XCode постоянно спрашивает, когда вы запускаете его, иметь доступ к личным файлам вашего компьютера, чтобы он мог получать информацию о профиле обеспечения с опциями, обеспечивающими доступ всегда, а не сейчас, или только один раз - установите ВСЕГДА РАЗРЕШИТЬ доступ
2. Если у вас есть какие-то старые файлы с правами доступа, избавляйтесь от них и от любых признаков с правами на доступ к вашему проекту, - если вы видите файл .entitlements в своем проекте, удалите его (или, по крайней мере, удалите ссылку на него, если вы не уверены вы готовы полностью удалить его), а затем убедитесь, что строка «Права для подписи кода» в разделе «Подписывание кода» в настройках сборки пуста
3. Проверьте свои сервисы приложений в Интернете и сопоставьте их с вашими сервисами в XCode для приложения. Перейдите в Apple Member Center и проверьте идентификатор приложения для своего приложения, нажмите на приложение, чтобы увидеть его «Службы приложений» и увидеть, что вы проверил, затем перейдите в XCode и проверьте раздел «Возможности», чтобы убедиться, что оба имеют одинаковый список служб Apple на обоих
4. Убедитесь, что вы назначили действительный профиль обеспечения своему приложению перед проверкой - дважды проверьте свой профиль обеспечения для своего приложения в Центре участников Apple, убедитесь, что оно не истекло, имеет правильный идентификатор приложения с правильным идентификатором пакета и распространением , Загрузите и щелкните новый профиль обеспечения, чтобы убедиться, что он есть в XCode, или перейдите в XCode> «Настройки»> «Учетные записи»> нажмите на свою учетную запись и «View Details», затем нажмите кнопку в нижнем углу, чтобы синхронизировать все профили с XCode. У вас должен быть профиль, доступный для выбора в разделе «Подписывание кода». Если у вас есть правильный профиль обеспечения, вы можете установить для строк «Идентификация подписи кода» правильный параметр для этого профиля обеспечения.
Примечание: если вы делаете сертификат распространения, это может помочь установить все строки «Code Signing Identity» на идентификаторы, которые вы используете для распространения, включая строки отладки.
5. ЕСЛИ ВСЕ ЕЩЕ НЕУДАЧИ - Очистите ваш проект и перезапустите XCode, и некоторое волшебство Apple может просто отлично работать при следующем открытии вашего проекта и попытке проверки.
источник
Если вы создаете старый проект 3.1.5, в Xcode 5 есть некоторые ошибки, которые, к сожалению, делают ответ Бенджамина невозможным, так как нет профилей Provisioning для выбора. После долгих часов мучительного чтения файлов проекта Xcode я пришел к такому решению, которое помогло мне:
open -a TextEdit path/to/name.xcodeproj/project.pbxproj
isa=XCBuildConfiguration
).PBXNativeTarget
и один входPBXProject
XCConfigurationLists
)Теперь вы готовы заново открыть, архивировать и отправить в магазин приложений - вуаля! Это снова работает!
Как я думаю, что это работает
Я предполагаю, что это работает, потому что Apple где-то вдоль линии решила отказаться от какой-либо отдельной конфигурации дистрибутива, что хорошо. Когда я архивирую, Xcode автоматически кодирует знаки для распространения. Именно так это и должно было быть реализовано, просто обидно, что Apple не может сделать автоматическую миграцию частью IDE; вместо этого они заставляют нас, разработчиков, тратить десятилетия, чтобы заставить эту работу работать.
источник
Я боролся с этой проблемой уже более суток, пробуя всевозможные решения, предлагаемые здесь и в других местах в Интернете. Ничего не получалось ...
Но мне наконец удалось решить проблему!
У меня была проблема со старым приложением, которого я не трогал более 3 лет, и теперь я собирался выпустить долгожданное обновление. С тех пор, как я выпустил приложение, Apple обновляла работу сертификатов и идентификатора приложения. Они представили концепцию Team Id, которую рекомендуется использовать. В частности, сайт Apple «Сертификаты, идентификаторы и профили» с тех пор претерпел множество изменений.
Там я понял, что профиль обеспечения, который я использовал для распространения в App Store, был связан с идентификатором приложения,
ED8xxxxxxx.com.rostsolutions.*
но, посмотрев на идентификатор приложения для игры, которую я собирался представить, я заметил, что это был идентификатор приложенияATMxxxxxxx.com.rostsolutions.Swisch
. Таким образом, префикс идентификатора приложения не совпадает! Это казалось корнем проблемы. Поэтому я создал новый профиль обеспечения, связанный с идентификатором приложенияATMxxxxxxx.com.rostsolutions.Swisch
. Используя этот профиль обеспечения, я успешно отправил свое приложение в App Store, а теперь просто скрестил пальцы, чтобы все остальное работало на стороне Apple.(Сначала я попытался подключиться к новому профилю Provisioning с помощью подстановочного идентификатора
ATMxxxxxxx.com.rostsolutions.*
, но это не помогло).Но что меня удивляет, так это то, что когда я смотрю на старое приложение в iTunes Connects и перехожу к бинарным деталям, он говорит, что идентификатор приложения есть
ED8xxxxxxx.com.rostsolutions.Swisch
. Так почему же на странице «Сертификаты, идентификаторы и профили» указан идентификатор приложенияATMxxxxxxx.com.rostsolutions.Swisch
?источник
Моя проблема была решена путем удаления моего Apple ID из Preferences-> Accounts и последующего добавления его обратно. Затем все мои файлы профиля обеспечения появились на служебной панели View Details. Я по ошибке выбрал «Профиль обеспечения Mac Team: *» вместо фактического профиля обеспечения распространения для проекта, полагая, что это был общий выбор. Предоставление файлов должно быть специфичным для проекта. Да, и кстати, убедитесь, что ваш профиль обеспечения имеет правильные права (например, Карты). Мне удалось выпустить приложение с OSX Maps без разрешения, и Apple одобрила его, но в рабочей версии не было карт!
источник
В моем случае у меня была та же проблема, мое решение состояло в том, чтобы изменить «Профиль обеспечения выпуска» в настройках сборки перед выполнением архивирования. Я делаю это дважды, один раз для распространения в App Store, а другой - для Ad Hoc. Я также добавляю комментарий к своим архивам. Мой вывод таков, что что-то не так в «повторной подписи архива».
источник
Существует очень хороший учебник для решения этой проблемы на этом сайте.
Это говорит о том, что эта проблема может возникать, когда ваш Идентификатор пакета проектов отличается от того, который вы ввели на веб-сайте iTunes Connect .
источник
Я думаю, что xcode 5 использует «релиз» вместо «дистрибуция», которую вы можете создать сами.
источник
Если все вышеперечисленное не сработало (в моем случае через пару дней не повезло, попробовав все), у меня есть только одно приложение Mac. БУДЬТЕ ВНИМАТЕЛЬНЫ С ОТЗЫВОМ!
1) Отмените вручную все «Распределение приложений Mac» и «Распространение установщика Mac»
2) Очистите соответствующие сертификаты и открытые ключи в связке ключей ( Предупреждение: экспорт перед удалением)
3) Перезапустите Xcode 4) Перейдите (в Safari) на developer.apple .com -> сертификаты и т. д. 5) Создайте CertificateSigningRequest.certSigningRequest в Keychain-> Ассистент сертификатов.
6) Создайте вручную на developer.apple.com как «Распределение приложений Mac», так и «Распространение установщика Mac» с помощью * .certSigningRequest
7) Подготовка Профили -> Распространение -> создать / исправить пользовательское положение для AppStore (я специально назвал его «Профиль обеспечения Mac для AppStore»
8) Xcode -> Настройки -> Учетная запись -> Ваша учетная запись ->Обновить 9) Xcode Clean -> Archive -> Validate
источник
Я боролся с подобной проблемой (я создавал для Ad-Hoc распределения). Единственное, что изменилось со времени последнего успешного развертывания, это добавление двух устройств в профиль обеспечения.
После двойной и тройной проверки всех параметров сборки я восстановил профиль обеспечения (ничего не меняя), заново загрузил, и он работал нормально.
Так что обратите внимание на себя: если нет логического объяснения, вы всегда можете попробовать старый добрый IT voodoo.
Я также рекомендую утилиту настройки iPhone , которая, несмотря на название, полезна для проверки того, какие профили инициализации у вас есть на компьютере.
источник
ОШИБКА ITMS-9000: «Этот пакет недействителен. Новые приложения и обновления приложений, представленные в App Store, должны быть созданы с использованием общедоступных (GM) версий XCode 5.1.1 или более поздней версии и iOS 7 SDK. Не отправляйте приложения, созданные с помощью бета-версии.
источник
Если несколько разработчиков используют одну и ту же учетную запись центра участников. Один из них не может использовать сертификат, созданный другими, потому что они использовали запрос сертификата, созданный на их компьютерах.
Альтернатива, сказал им, чтобы отправить вам профиль разработчика. не уверен в названии. использовать сертификат, созданный на другом компьютере.
источник
Подписание кода Права возникают из-за того, что ваш ресурс не содержит файл прав в ресурсах, просто перейдите к настройке сборки и выполните поиск подписи кода. Права удалить запись для отладки и выпуска, снова соберите проект, и вы увидите, что ошибки нет. ура
источник
У меня была такая же проблема, но ничего написанного здесь не помогло мне. Тем не менее, я нашел простой способ, который работал для меня. Вот как это сделать:
1) В своем проекте и настройках сборки Target (s) выберите «None» для всех профилей Provisioning и выберите «Don't Code Sign» для всех идентификаторов подписи кода.
2) Теперь выберите свою цель и перейдите к настройке сборки. В настройке выпуска идентификатора подписи кода выберите «Распространение iOS» для «Any iOS SDK». Затем в настройке Release Provisioning Profile выберите свой профиль распространения для «Any iOS SDK». После этого настройка выпуска идентификатора подписи кода должна автоматически измениться на «Распространение iPhone».
3) Архив вашей сборки и проверки. Теперь все должно работать нормально. Это оно!
источник