Ошибка подписчика

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

Я отправляю пользователю файл инициализации и файл .app. Они отбрасывают оба в iTunes и синхронизируют, затем получают эту ошибку на обоих устройствах:

The application "myapp" was not installed on the iPhone "user iPhone" because the signer is not valid.

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

Ответы

Ответ 1

Вы добавили права? Поставить подпись на целевом уровне, а не на уровне проекта? Выберите профиль Ad Hoc? Сделайте чистую до сборки? Выберите Ad Hoc Device против сборки?

Лучше всего следить за документацией Apple точно, чтобы ваши настройки сборки соответствовали Apple.

Ответ 2

Рекомендуется проверить файл imbedded.mobileprovision, входящий в файл .app, чтобы убедиться, что UID находится там. Просто выполните следующие действия:

  • unzip ProblemApp.ipa
  • cd Полезная нагрузка /ProblemApp.app
  • pico imbedded.mobileprovision

Ищите UID вашего устройства в этом файле. Если он не существует, то он, вероятно, не добавляется в файл инициализации на портале.

Ответ 3

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

Создание приложения для 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.

Ответ 4

Недавно я столкнулся с этой проблемой с одним тестером в недавней сборке. Оказалось, что мой тестер имел reset их iPod Touch и удалил профиль подготовки в процессе.

Просто подумайте.

Ответ 5

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

Ответ 6

Вот еще одна забавная... если у вас есть отдельные файлы прав для iphone и ipad, убедитесь, что вы установили цель для файла для каждой конкретной сборки... иначе она не будет отображаться в сборке, ll получить эту ошибку

Ответ 7

Я приехал сюда, потому что у меня была такая же проблема, как и у OP. Действительно, оказалось, что у меня не было UDID в файле прав, хотя я уверен, что использовал обновление в организаторе XCode. Другое обновление не имело никакого значения.

В итоге я удалил все профили подготовки, а затем обновил. Теперь все работает.

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

Ответ 8

Это не сработает для меня с iphone 3G с IOS 3.1.3. Я подтвердил, что профиль распространения не был на телефоне, посмотрев на settings- > general (в списке не было профиля).

Затем я установил утилиту конфигурации iphone:

http://support.apple.com/kb/DL851

Тогда:

  • запустить iphone config
  • перетащить файл embedded.mobileprovision в приложение
  • щелкните устройство с левой стороны
  • перейдите на вкладку "Профили профилей".
  • нажмите на профиль, а затем нажмите кнопку "установить"

Тогда приложение установлено просто отлично.

Ответ 9

У меня была такая же проблема, как и у ОП. Неверная ошибка: я случайно сбросил последние две цифры с устройства, которое я пытался распространять ad hoc, когда я зарегистрировал его как устройство.

Ответ 10

У меня такая же проблема два раза (xcode 4.2 ios 5)

Впервые, время я забыл добавить armv6 в архитектуре

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