Подтвердить что ты не робот

Недопустимые права

Недавно я обновил свою iPhone SDK OS версии 2.2.1 до версии 3.0. После этого, создавая мое приложение, я получаю сообщение об ошибке, из-за которой профиль предоставления ресурсов истек. Поэтому я создал новый профиль подготовки.

Затем я сделал распределение моего приложения с профилем подготовки. Но я получаю сообщение об ошибке в iTunes при синхронизации моего приложения с устройством iPhone. Сообщение об ошибке "Приложение iGVA" не было установлено на iPhone, потому что права недействительны. "

Я проверил подписание кода. Права доступа содержат правильный файл права plist.

Как это можно решить?

4b9b3361

Ответ 1

Майкл отвечает выше, это точка (или ссылка, на которую он указывает). Вот шаги, которые я должен был предпринять, чтобы заставить его работать:

  • Имеет специальный сертификат, для которого проверяется UDID устройства. Установите этот сертификат, перетащив его на значок XCode.
  • В проекте создайте конфигурацию распространения и установите параметры сборки в соответствующее устройство | распределение. Прямо сейчас, мы создаем для Device 3.0 | Распределение.
  • Мой проект не включал файл Entitlements.plist - мне пришлось добавить его, выбрав в меню File | Добавить файл | IPhone OS | Права и вызов нового файла Entitlements.plist
  • Новый файл plist имеет только одну строку - установить значение этой строки для снятия флажка.
  • В конфигурации сборки проекта в строке для прав доступа кодов введите имя файла Entitlements.plist как значение.
  • В идентификаторе подписи кода выберите идентификатор ad-hoc сертификата (хотя я обнаружил, что вы также можете использовать свой идентификатор сертификата распространения)
  • СЕЙЧАС BUILD:)
  • Доставить полученный файл приложения плюс специальный сертификат лицу, предоставившему вам UDID. Должен работать:).

Ответ 2

Я тоже понял это, и нашел ответ в Ad-Hoc Apps and Entitlements.

Возможно, вам нужно будет убедиться, что путь к вашему файлу Entitlements.plist указан в настройках вашего проекта в разделе "Права на подпись кода".

Ответ 3

Для тестировщиков требуется установить файл Entitlements.plist для установки ad-hoc. Шаблоны iOS по умолчанию не включают в себя один. В XCode 3.2.4 вы создаете такой файл:

  • В меню выберите "Файл > Новый файл..."
  • В шаблонах iOS есть раздел "Подписание кода". Выберите значок сертификата "Права". Назовите файл "Entitlements.plist"
  • Выберите Entitlements.plist в исходном дереве.
  • Выберите "Вид" > "Тип списка объектов" > "Плата за права iPhone"
  • Добавить новый ключ в список свойств (выберите верхнюю строку, нажмите клавишу возврата)
  • Элемент, вероятно, будет называться "Может быть отлажен". Если нет, выберите это из доступных параметров. Это эквивалентно "get-task-allow".

Если у вас его еще нет, создайте профиль сборки ad-hoc:

  • Выберите свою цель в исходном дереве.
  • В меню выберите "Файл > Получить информацию"
  • В инспекторе. выберите вкладку "Создать".
  • В разделе "Конфигурация" выберите "Изменить конфигурации..."
  • Выберите конфигурацию "Release", нажмите "Duplicate" в нижней части экрана.
  • Переименуйте новую конфигурацию "Ad-Hoc Distribution"

Теперь вы создали Entitlements.plist, вам нужно добавить его в свои настройки сборки.

  • Выберите свою цель в исходном дереве.
  • В меню выберите "Файл > Получить информацию"
  • В инспекторе. выберите вкладку "Создать".
  • Убедитесь, что для селектора конфигурации установлено значение "Ad-Hoc Distribution"
  • В группе "Подписание кода" измените значение "Права на подпись кода" на "Entitlements.plist". Возможно, XCode применил относительный путь для вас. Если это так, измените его.

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

Наконец, убедитесь, что Entitlements.plist добавлен в вашу цель.

  • Выберите Entitlements.plist в исходном дереве.
  • В меню выберите "Файл > Получить информацию" .
  • Выберите вкладку "Цели".
  • Убедитесь, что флажок рядом с вашей целью отмечен.

Теперь вы сможете распространять свои рекламные сборки без этой ошибки.

Большая часть этого была почерпнута из Apple Руководство по управлению приложениями, остальное - пробным и ошибочным.

Ответ 4

Я с ума сходил. Наконец, наверное, я понял. В настройках проекта я правильно устанавливал права и код для подписи в правильной конфигурации Adhoc. Однако, хотя все показалось мне хорошо, когда я проверил "Project → Edit Active Target", мой объект подписи кода все еще оставался в "iPhone Developer".

После переключения на правильное "распределение iPhone" и перекомпиляции Xcode попросил меня разрешить кодовое подписывание в первый раз. И все это скомпилировано и передано на мой телефон прямо сейчас!

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

Ответ 5

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

Итак, да, я добавил UDID, получил настройки, подтвердил по телефону, в настройках сборки и т.д.

Мой сбой (спасибо http://www.musicalgeometry.com/?p=1237) заключается в том, что Ad Hoc-схема была настроена как специальная конфигурация только для Run параметры.

Для настроек архива он все еще указывал на старую конфигурацию Release.

(Эти настройки являются вкладками левой стороны в окне схемы редактирования.)

Run app settings

Archive settings

Если я сохраню кого-то свое разочарование - я сделал свой бит.

Ответ 6

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

Ответ 7

Вам также необходимо убедиться, что у вас есть незавершенный профиль подготовки, который несколько раз лишал меня на этом (профили ad hoc профилей, по-видимому, истекают через год). Сообщение об ошибке одно и то же, но оно не имеет ничего общего с отсутствием действительного файла Entitlements.plist.

Ответ 8

Убедитесь, что при создании и архивировании, которые вы строите для "Устройство", и ваша конфигурация не является "Debug". Кажется, что он правильно создает архив, но не будет установлен при установке .ipa устройства, если вы настроены на профиль Debug, когда вы делаете "Build and Archive".

Ответ 9

Эта проблема, возможно, не имеет ничего общего с Плитом прав. У меня есть два iPod Touch, которые я использую для тестирования. Когда я пошел синхронизировать приложения с ними, один работал отлично, но для другого я получил ошибку "права недействительны". Как оказалось, на одном устройстве (на котором работал) был файл мобильного обеспечения, а другой - нет. Это был явный надзор с моей стороны. Однако, что меня бросило, я никогда не добавлял файл обеспечения на первое устройство. Не уверен, как он попал на это устройство (я все еще новичок в этом - lol) - в прошлом я всегда просто тащил его в Организатор с подключенным устройством, но на этот раз я этого не делал.

Таким образом, профиль обеспечения и xcode были полностью настроены с правильными идентификаторами и т.д., но приложение все еще не удалось синхронизировать. Очевидно, что если устройство не будет должным образом подготовлено, вы получите сообщение об ошибке. Было бы неплохо, если бы ошибка была более полезной в этом случае.

Ответ 10

Это случилось со мной, и другие ответы не разрешили для меня.

После того, как вы потратили полдня на строительство, установку, очистку, нажав безрезультатно - я, наконец, стерла Entitlements.plist из коробки в разделе "Подписи кодов", сохранил и снова набрал ее - voila! Это сработало снова! Я никогда не касался фактического файла прав, только настройки.

Ответ 11

У меня это было в XCode 4. Я пробовал очищать, удалять и воссоздавать файл прав, но до сих пор не радуюсь. Затем я изменил значение для "Может быть отлажен" от YES до NO.. и он сработал. Во всяком случае, похоже, что сейчас это нормально, надеюсь, это поможет!

Ответ 12

У меня была эта же проблема, используя Xcode 4. Это оказалось вызвано неправильным выбором для Identity в диалоговом окне "Share..." в разделе "Архивы" организатора. Правильный выбор (для меня): "Не переписывать".

Ответ 13

У меня тоже была эта проблема. Как оказалось, я отредактировал конфигурацию для поддержки ad hoc и уверен, что я строил ее с помощью конфигурации дистрибутива. НО. Я не редактировал свойства конфигурации дистрибутива, но релиз вместо этого (я думал, что редактирую дистрибутив).

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

Ответ 14

Я только что нашел другое обстоятельство, которое вызывает эту проблему. Вы должны убедиться, что вы включили правильный профиль подготовки. У меня есть приложение, в котором есть iPhone и версия iPod, а также версия iPad, построенная из того же проекта. Я, видимо, разослал iPad ad hoc-профиль с iPad-версией приложения, и он не работает. Хуже того, я установил правильный профиль локально с Xcode, поэтому все работает правильно на моей машине.

Ответ 15

У меня возникла проблема, когда я добавлял новое устройство в список устройств, а затем делал новые профили, выбирая новые устройства и перетаскивая их в Xcode и готовая сборку.

В тот момент, когда я использую эту сборку для установки устройства, я получаю сообщение об ошибке

ЭНЕРГЕТИКИ НЕ ДЕЙСТВИТЕЛЬНО

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

Ответ 16

Из документов:

Создание приложения для Ad Hoc распределение похоже на создание приложение для распространения в App Store, с за исключением двух дополнительных шагов. Во-первых, вам нужно создать специальную Профиль распределения распределения и добавьте UDID устройств iOS, которые вы хотите распространять Предоставление программ для разработчиков iPhone Портал. Во-вторых, вам нужно создать файл подписи кода. Для информация о том, как создать Файл прав читает "Управление" Раздел "Права приложения" Руководство по разработке iOS.


Управление правами на приложения

iOS предоставляет доступ к специальным ресурсов и возможностей, таких как может ли ваше приложение отлаженные свойства прав. Чтобы указать право информации в вашей заявке, вы добавить файл списка свойств права содержащие определения прав (пары ключ/значение) в ваш проект. Когда вы создаете приложение, Xcode копирует файл в сгенерированный пакет приложений.

Чтобы добавить список свойств прав файл в ваш проект:

В списке "Группы и файлы" выберите Группа ресурсов. Выберите "Файл" > "Создать" Файл. Выберите iOS > Подписание кодa > Шаблон прав. Назовите файл Entitlements.plist. (Вы можете использовать любые имя; просто убедитесь, что оно соответствует значению прав на сбор подписей кодов, как поясняется ниже в этом документе. раздел.) Задайте тип файл списка свойств для iPhone Entitlements. С выбранным файлом в текстовом редакторе выберите "Просмотр" > Тип списка объектов > iPhone Платформа прав.

Добавьте свои права на файл. Для каждого права собственности вам нужно определить:

Нажмите "Добавить ребенка" или "Добавить брат" кнопки справа от выбранного ряд. Кнопка "Добавить ребенка" имеет три строки, изображающие иерархию, Add Кнопка "Сиблинг" имеет знак плюса (+) Это. Выберите право собственности в появившемся всплывающем меню. Если право, которое вы должны добавить не отображается в меню, выберите Просмотp > Тип списка объектов > По умолчанию для типа файла. Затем введите имя и тип ключа права.

Введите значение свойства. Задавать сбор подписей кодов установка для цели на имя вновь добавленные права файл списка свойств.


Как только вы создали ваш файл прав и добавили его в вашу подпись кода Настройка создания прав, откройте Файл прав и добавьте или отредактируйте get-task-allow и установите его в ложь.

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

Информацию о Ad Hoc пожалуйста, прочитайте Публикация приложений для тестирования раздел в Руководстве по разработке iOS.

Ответ 17

сделать shure, чтобы выбрать Signing Identity в TARGETS;)