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

У меня проблема с ad-hoc-распространением на моем iPhone. Я разработал приложение с SDK 3.0. У меня есть лицензия разработчика. В моем проекте добавлены сертификаты и профили подготовки. Так что, никаких проблем с этим.

Но когда я пытаюсь установить приложение на своем iPhone, он компилирует проект и затем отображает ошибку: "The executable was signed with invalid entitlements" окне« Организатор "The executable was signed with invalid entitlements" . Я что-то упускаю? Я обновил свой iPhone с версии 2.2.1 и загрузил последнюю версию SDK от Apple.

Пожалуйста, помогите мне в этом вопросе.

19 Solutions collect form web for “Исполняемый файл был подписан с недействительными правами”

В «Программе портала» есть довольно хорошие инструкции. Если вы входите в систему

http://developer.apple.com/iphone

Затем нажмите «Распределение» слева и нажмите

Создание и загрузка профиля предоставления распределения для специального распространения

ссылку внизу.

Вот ключевой бит:

Для специального распространения заполните следующие данные:

  • В меню «Файл» выберите «Новый файл -> iPhone OS -> Подпись кодов -> Права. Назовите файл «Entitlements.plist» и нажмите «Готово». Это создаст копию файла прав по умолчанию в проекте.
  • Выберите новый файл Entitlments.plist и снимите флажок свойства get-task-allow. Сохраните файл Entitlements.plist. (в Xcode 4, get-task-allow называется «Может быть отлаживается»)
  • Выберите цель и откройте инспектор настроек сборки. В настройке сборки «Подписи кодовых подписей» введите имя файла нового файла Entitlements.plist, включая расширение. Нет необходимости указывать путь, если вы не поставили файл Entitlements.plist где-то, кроме верхнего уровня проекта.
  • Нажмите «Построить». (Примечание: ваш двоичный файл должен содержать сплющенный квадратный значок размером 57×57 пикселей. Этот значок отображается на главном экране iPhone или iPod touch.)

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

Убедитесь, что ваше устройство включено в профиль разработки Dev, который вы хотите использовать. Как-то сообщение об ошибке вводит в заблуждение. Мои права были в порядке.

Я обнаружил, что «get-task-allow» необходимо проверить для сборки разработки, но не установлен для сборки Distribution. Самый простой способ добиться этого (AFAIK) состоит в том, чтобы иметь два файла прав в вашем проекте: Entitlements.plist и EntitlementsDebug.plist – и ссылаться на соответствующий в настройках проекта сборки для различных конфигураций в вашем проекте.

Права на подписывание кода больше не нужны для специальных сборок в Xcode 4 – см. Подробности в Технической ноте Apple TN2250

Если вы когда-то входите в ситуацию, для проверки вашей «отладки» (!) Сборки на ваш телефон требуется проверка «get-task-allow», проверьте следующее:

a) Проверьте настройку сборки. В «Разрешениях подписи кода» для Debug не должно быть записи. B) Временно удалите Entitlements.plist и создайте свою версию отладки. Если он жалуется на недостающий Entitlements.plist, то, вероятно, у вас такая же ситуация, мне пришлось бороться сегодня. c) Создайте снова с помощью Entitlements.plist и включите «get-task-allow». Если он работает сейчас, у вас, вероятно, будет такая же проблема:

После беспорядка с новыми профилями я не смог развернуть свою сборку Debug на телефоне. AdHoc был в порядке. Я проверил a) – пусто. Хм. Я проверил б), – сетует. c) – работал …

В конце концов я рассмотрел project.pbjproj в редакторе и, хотя GUI действительно утверждал, что не было никакой записи для «Права на подпись кода», на самом деле в разделе «Отладка» был один. Я опустошил его и сделал.

Это связано с тем, что ваше устройство, на котором вы запускаете приложение, не выбрано с профилем обеспечения.

Поэтому просто просмотрите сертификаты, идентификаторы и профили, выберите iOS Provisioning Profiles для iOS Provisioning Profiles нажмите на править, затем выберите свое устройство

введите описание изображения здесь

У меня просто были захватывающие три часа, сражавшиеся с этим. Я только что обновил проект до 4.2, и по какой-то причине он просто не сработает.

В итоге я удалил файл Entitlements.plist и создал новый.

Файл> Новый файл> Подписание кода> Права

Назовите файл Entitlements.plist

Убедитесь, что он находится в группе «Ресурсы» в xCode.

В файле Entitlements.plist он не вводил тип BOOL-get-task-allow-allow. Я добавил его, проверил, сохранил, не снял, сохранил. Это заставило меня почувствовать себя лучше.

Затем я удалил профили Adhoc и Release, которые я создал. Повторно загрузили их из портала Provisioning Portal и отправили обратно в организатор xCode.

Затем я вошел в настройки Build и удостоверился, что для профилей Debug и Release были назначены правильные профили.

Затем я изменил его на Release / Device. Нажмите кнопку сборки, и она сработает.

Понятия не имею почему.

Ответ Джона на 99% правильный. Я обнаружил, что (по крайней мере, в моей конфигурации) вам нужно открыть инспектор настроек сборки для PROJECT . Параметры сборки для цели не содержат «Кодовые права подписывания». Возможно, это не имеет значения, если в вашем проекте есть только одна цель. Но если у вас несколько целей, вам нужно перейти к настройкам сборки проекта. В любом случае, после того, как сказал Джон, моя специальная assembly рассылки отлично работала.

В Xcode 5.1, если вы перейдете в Preferences -> Accounts -> View Details …

Убедитесь, что статус Signing Identity имеет значение Valid. Если он говорит «Отключено», нажмите кнопку «Плюс» и добавьте соответствующий подписи: iOS Development или iOS Distribution. Xcode заменит его новым, действительным.

Для меня это решило: https://coderwall.com/p/-ckobg

  1. Открыть Project.xcodeproj> project.pbxproj
  2. Удалите все строки, подобные этим:
    1. PROVISIONING_PROFILE = ...
    2. "PROVISIONING_PROFILE[sdk=iphoneos*]" = ...
    3. CODE_SIGN_IDENTITY = ...
    4. "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ...
  3. Задание профилей подготовки и подписи кода для цели снова

Это может помочь понять. В моем случае мой профиль Provisioning Profile истекал (Портал Provisioning Portal указал, что он управляется XCode), а также профиль тестирования устройства для приложения. (Я все еще не знаю, почему, но на портале появилась кнопка «Обновить» рядом с профилем команды, но я ничего не сделал бы, когда я щелкнул бы ее.)

Итак, я удалил профили, срок действия которых истекает, а затем в XCode перейдите в «Организатор» (Command-Shift-2), в разделе «Библиотеки / Профилирование профилей» я удалил истекающие. Затем нажмите «Обновить» внизу, введите свой идентификатор Apple и обновите истекающие.

Наконец, на моей цели я пошел в «Настройки сборки», «Подписание кодов» и убедился, что вы выбрали профиль подготовки. Voila, теперь он строит к моему устройству.

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

В моем случае у меня было два разных устройства с тем же именем (iPhone 4 и iPhone 4S). Изменение имени одного из них полностью фиксировало эту ошибку для меня …

Я пытался добавить поддержку iCloud в существующее приложение, но обнаружил, что после добавления прав и настройки iCloud мое приложение больше не будет отлаживать.

Я понял, что у моего общего сертификата разработки iOS был другой APPID из приложения, над которым я работал. Поэтому, чтобы исправить это, вместо использования моего общего сертификата я создал специальный сертификат развития для этого APPID.

Я обновил профиль профилей в XCode, очистил приложение, отключил свое устройство, перезапустил XCOde и подключенное устройство и побежал, и теперь он работает!

Я также несколько часов боролся с этим. Исправление очень просто. Отредактируйте файл Entitlements.plist в корне каталога вашего проекта. Найдите строку с надписью get-task-allow . Под ним должно быть . Измените это на .

Извините, что это очень поздно, но я просто смотрел на этот вопрос и нашел что-то, что сработало для меня. Я пошел в PROJECT-> Build Settings и нашел раздел подписи кода. Помимо отладки, был выбран мой профиль распределения, в котором говорилось, что Iphone Distribution: MY NAME . Вместо этого я выбрал Iphone Developer: MY NAME в раскрывающемся списке под IpodProfile (for bundle identifiers com.myName.myApp который был профилем для моего устройства. Надеюсь, это поможет!

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

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

Я не согласился с новым обновленным лицензионным соглашением от Apple.

Вкратце: пожалуйста, войдите в аккаунт своего разработчика -> профиль -> обзор -> прочитайте соглашение или попросите своего адвоката прочитать его для вас -> согласитесь (по своей воле) -> и снова нажмите профиль, чтобы проверить статус вашего профиля ,

В моем сценарии действительный объект подписи кода не показывался. Когда я выполнил описанную выше процедуру, она была видна, и я смог запустить приложение на устройстве и / или создать файл iPA без особых трудностей.

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

Проблема возникла из-за того, что я только что создал новую схему и не обновил свои CocoaPods для новых конфигураций. Как видно из изображения, новая ad-hoc конфигурация указывает на конфигурацию Pods.production вместо конфигурации Pods.ad-hoc (и теста соответственно)

Демонстрация неправильного совпадения конфигурации конфигурации и схемы ad-hoc

Исправить:

  • Установите для оскорбительной конфигурации значение None – cocoapods не будут генерировать конфиги, если я не сделал это
  • Закрыть XCode
  • Запустить pod install
  • Повторно откройте XCode и установите конфигурации новой схемы для вновь созданных конфигураций.

Это оно!

Проверьте, включено ли устройство в профиль подготовки.

  • Как лучше использовать файлы MSI
  • Как получить COM-сервер для Excel, написанный на VB.NET, установленный и зарегистрированный в списке серверов автоматизации?
  • Добавление пользовательских prerequsites в проект настройки визуальной студии
  • Что такое полный class базы данных Android для существующей базы данных SQLite?
  • Размещение массива-new требует неопределенных накладных расходов в буфере?
  • Загрузка сайтов обновлений плагинов Eclipse для автономной установки
  • Ошибка , когда я пытался обновить приложение
  • Как установить конкретный JDK в Mac OS X?
  • Как изменить местоположение библиотеки в R?
  • Как установить Windows Phone 8 SDK на Windows 7
  • Различия между utf8 и latin1
  • Давайте будем гением компьютера.