Исполняемый файл получает подпись с недопустимыми правами в Xcode


Я получил эту ошибку с Xcode 5, Когда я пытаюсь запустить приложение на моем устройстве.

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

Он отлично работал с Xcode 4.х. Кто-нибудь знает как избавиться от ошибки?

30 80

30 ответов:

Перезапуск Xcode Версии было то, что работал для меня.

Я боролся с этой проблемой в течение часа, и, наконец, нашел исправление. Оказалось, что команда разработчиков была разной в ProjectTarget и ProjectTests.

Я обнаружил проблему. Приложение, которое я создал на developer.apple.com не включает в себя inter-app-audio. Файл plist прав проекта на Xcode имеет inter-app-audio, установленный в YES (по умолчанию). После того, как я изменил настройки на моей конфигурации приложения на developer.apple.com чтобы включить inter-app-audio. Затем мое приложение запускается на моих устройствах. Я думаю, что это новое правило apple, чтобы сделать ваши настройки приложения согласованными на обоих developer.apple.com и настройки вашего проекта xcode.

Я смог это исправить, включив / выключив право "Game Center" в Xcode 5 : -)

решение для последних Xcode:

сначала вы должны проверить, что включено в ваш Member center для вашего конкретного AppID:

enter image description here

тогда в вашей соответствующей цели в Xcode вы должны включено те же возможности: в этом случае: App Group,Game Center,In-App Purchase. все они должны быть включены в вашей цели в Xcode.

enter image description here

но это не имеет значения для DEBUG режим:

enter image description here

это очень важно для вашего релиз режим: enter image description here

отметим, что Game Center и In-App Purchase включены по умолчанию в Member Center но отключены в цели Xcode.

Я думаю, что ваша проблема заключается в том, что профиль, который вы использовали xCode4.6 и теперь вы используете xCode5.

вам нужно обновить профили certs/prov через XCode > Настройки > Учетные записи

XCode > Настройки > Учетные записи > нажмите на свою учетную запись DEV > кнопка просмотра сведений (внизу справа) > появится экран подписи Iden/PPs > нажмите Обновить.

затем снова выберите в настройках сборки правильный профиль и очистите и создайте свой проект.

надеюсь, что это поможет вам.

ни одно решение не работало для меня, пока я не проверил и не установил цель тестов приложений в тот же профиль подготовки, что и основное приложение. Или если вы используете автоматическое пение, убедитесь, что у вас есть та же команда, выбранная в tests target.

Я должен был соответствовать возможностям приложения в Xcode5 под

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

С этим в профиле provisoning.

xcode 6.1 (образец HealthKit)

Я получал эту ошибку из-за интеграции HealthKit: я включил покупку в приложении, Game Center и Healkit решили мою проблему.. То же самое я включил в профиле предоставления.

enter image description here

enter image description here

(Xcode 6.1)

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

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

простая очистка и сборка, казалось, исправили это для меня.

Я решаю эту проблему, удалив все "PROVISIONING_PROFILE=..." и "PROVISIONING_PROFILE[sdk=iphoneos*]" = ... in .pbxproj и перезапустите Xcode и снова установите профили подготовки для цели.

если перезапуск xcode не работает создайте новый профиль подготовки и обязательно включите тестовые устройства.

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

Я сделал это, и это сработало:)

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

еще одна вещь, чтобы проверить-убедитесь, что у вас есть правильные объекты, выбранные в и

Цели -> Ваша Цель - > Настройки Сборки - > Подписание

и

Проект - > Ваш Проект - > Настройки Сборки - > Сущность Подписи Кода

Я получил это сообщение, когда у меня был полный профиль dev, выбранный в одном, и другой (не разработчик) Apple ID, выбранный в другом, даже без права, запрошенные в приложении.

У меня была такая же проблема в XCode 5. Это мне все равно помогло.

XCode > Preferences > Location tab > DerivedData

нажмите маленькую стрелку влево, чтобы открыть DerivedData в Finder. Переместите в папку корзины вашего проекта и перестроить.

Screenshot

были некоторые проблемы. Решение: перейдите к правой цели - > возможности- > для меня была проблема с "In-App Purchase" и кнопка, чтобы исправить это. Off-on операция Исправлена проблема.

в моем случае: мне нужно включить Inter-App Audio in

Capabilities -> Inter-App Audio

Я думаю, потому что я использую Parse.com уведомление, это нужно ссылка на AudioToolbox.рамки

включение возможностей - > Inter-App Audio исправлена эта проблема для меня, а также. Я также пытаюсь отправить push-уведомления через parse

ответы здесь кажутся немного неадекватными, поэтому я добавляю свои два цента:

реальное решение заключается в том, что обычно существует несоответствие между тем, что хранится в вашем профиле подготовки (проверьте на developer.apple.com -> участники -> сертификаты - > сертификат, который вы используете [обязательно проверьте, включен ли dev/production) и что включено в вашем приложении (дважды щелкните имя проекта), в горизонтальном меню выберите "Capabilities" (рядом с "General").

Если вы недавно изменили один из они, не забудьте обновить сертификаты в разделе XCode -> Настройки -> Учетные записи -> детали - > обновить значок и перезапустить XCode.

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

в моем случае, я должен был принять лицензионное соглашение Apple Developer.

войдите в учетную запись разработчика apple и обратите внимание на уведомление, подобное приведенному ниже.

"Обновлено лицензионное соглашение на программу для разработчиков Apple. Чтобы получить доступ к определенным ресурсам членства,**** должен принять последнее лицензионное соглашение до 28 июня 2016 года."

ранее я не мог добавлять / редактировать контейнеры iCloud в идентификатор приложения, хотя я изменил / проверил Возможности, профили подготовки, сертификаты и т. д. После согласования контракта все пошло гладко.

надеюсь, это сэкономит чье-то драгоценное время.

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

Mobile provisioning file фактически не совпадает с файлом прав, созданным Xcode.

хотя все файлы автоматически обрабатываются Apple tool, они не являются правильными.

при загрузке файла подготовки с портала Apple и откройте его (вы можете открыть его, потому что это просто файл plist, подписанный вашим сертификатом, поэтому он читается текстовым редактором) и сравните его с файлом прав (автоматически генерируемым Xcode и находящимся в файлах проекта (так что это снова XML-файл plist, читаемый текстовым редактором). Тогда вы можете увидеть разницу.

в моем случае это было право Game Center. Он был показан на портале как проверенный (по умолчанию проверено), но на самом деле это право не было включено в mobile файл подготовки. Поэтому речь шла об удалении его из файла прав.

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

для тех у кого такая же проблема с Профиль Подготовкиавтоматическая в настройках сборки цели:

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

в моем случае мне пришлось временно использовать производственные контейнеры iCloud с отладочными сборками. Для этого я вставил

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

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

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

и это нарушило переписку и создало ошибку.

Я столкнулся с той же проблемой. Для меня решение было ниже шагов.

  1. Я пошел на учетную запись разработчика я загрузил push-сертификат в идентификатор приложения.
  2. восстановить профиль подготовки

вывод: если есть какая-либо служба включена, но она не настроена, то eigther отключение или настройка этой службы может решить проблему

Если другие хорошие ответы, перечисленные здесь, не работает для вас, попробуйте открыть Keychain Access и удалить все " iPhone Developer...'сертификаты, отличные от основного, который вы используете для подписи кода. Я обнаружил, что у меня было несколько отозванных сертификатов и сертификатов от других моих товарищей по команде, которые необходимо было удалить.

(Xcode 7.3.1) У меня эта проблема только с одним устройством в частности. Что исправлено для меня было запустить приложение с компьютера коллеги(успешно), и после этого я перестал получать эту ошибку на своем компьютере.

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

все сказанное выше верно, особенно Бартломей Семанчик: повторно проверьте настройки прав в Центре разработки и в вашем проекте.

мои два цента за Xcode 9 / iOS 11..

Если вы добавляете новые права для NFC (действительны только для iOS11 / Xcode 9) в вашем РЕПО, где у вас также есть проект Xcode 8, Xcode 8 завершится неудачей.

поэтому, если вы используете несколько проектов с одним и тем же базовым кодом (с условной компиляцией), разделяя одно и то же не кодовые файлы, обязательно различайте файлы прав между различными версиями Xcode.