Ошибка подписчика
Я создал специальную сборку своего приложения и хотел бы, чтобы другой человек ее установил. У меня есть идентификатор устройства (два на самом деле) в профиле подготовки. Мой сертификат одинаковый для 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