Ошибка кодового знака с Xcode 3.2
У меня была полностью рабочая среда сборки перед обновлением до iPhone OS 3.1 и Xcode 3.2. Теперь, когда я пытаюсь выполнить сборку, я получаю следующее:
Ошибка кодового знака: профиль Provisioning "FooApp test" указывает идентификатор приложения "no.fooapp.iphoneapp" , который не соответствует текущему параметру "TGECMYZ3VK.no.fooapp.iphoneapp"
Проблема заключается в том, что Xcode каким-то образом удается подумать, что профиль обеспечения "FooApp Test" указывает идентификатор приложения "no.fooapp.iphoneapp" , но это не так.
В организаторе (и на веб-сайте портала разработчиков iPhone) идентификатор приложения правильно отображается как "TGECMYZ3VK.no.fooapp.iphoneapp".
Кроме того, при настройке профиля обеспечения в вариантах сборки на уровне проекта Xcode корректно идентифицирует идентификатор приложения, но когда я перехожу к цели, я не могу выбрать какой-либо действительный профиль подготовки.
Что может быть причиной этой проблемы?
Обновление: я попытался создать новый профиль подготовки, но все равно не повезло. Я также попробовал просто изменить приложение, указанное в Info.plist, на "no.fooapp.iphoneapp" . Сборка успешно завершена, но теперь я получаю сообщение об ошибке от организатора:
Исполняемый был подписан с недопустимыми правами. Права, указанные в вашей заявке, подписываются на файлы, не соответствующие тем, которые указаны в профиле обеспечения. (0xE8008016).
Это кажется разумным, так как профиль обеспечения по-прежнему имеет идентификатор приложения TGECMYZ3VK.no.fooapp.iphoneapp.
Я также дважды проверил, что все сертификаты действительны в Keychain.
Итак, мой вопрос в том, как я могу получить Xcode, чтобы увидеть правильный идентификатор приложения?
ОБНОВЛЕНИЕ: Как отмечено ниже, проблема заключается в удалении всех профилей подготовки, сертификатов и т.д., создании новых сертификатов/профилей и их повторной установке. Если у кого есть какие-то другие решения, они будут рады.:)
Ответы
Ответ 1
Ну, как кажется в случае с множеством этих проблем с подделкой кода, удаление всех профилей подготовки, сертификатов и т.д., а также отзыв и генерация всего заново оказались трюком. Я даже создал новый идентификатор пакета, идентификатор приложения и т.д., И теперь AdHoc-дистрибутив снова работает.
Ответ 2
Мне пришлось вручную удалить профили подготовки с моего телефона, а затем перестроить приложения после выполнения "чистой цели" из меню сборки.
Что в разделе Настройки → Общие → Профили
Это случилось со мной, когда я получил новый Mac. Вы исправите это, не беспокойтесь.
Ответ 3
Вчера у меня была такая же ошибка. Я попробовал все различные процедуры сброса в других ответах без везения. В конце концов я также
- перезагрузил мой mac
- перезагрузил мой iPhone
- удалил все мои профили настройки iphone с телефона, используя XCode
- удалил все профили из моего mac (~/Library/MobileDevice/Provisioning Profiles для меня)
- что еще? удаленная сборка, перезапустил XCode, установил обновление до 3.1.2 sdk, пожертвовал цыпленком.
И вот, теперь он работает, ошибка ушла. Это серьезная территория вуду.
Ответ 4
Кроме того, убедитесь, что вы добавили ссылку на имя файла права доступа "dist.plist" в вашей конфигурации проекта CODE_SIGN_ENTITLEMENTS.
Ответ 5
Проверяйте права доступа кодовой подписки в информации как для объекта сборки, так и для основного приложения - если права на подпись кода указаны, либо удалите его
Ответ 6
В XCode на панели "Группы и файлы" разверните "Цели" и дважды щелкните мышью по целевой точке приложения.
Это вызовет панель "Информация" для вашей цели. В разделе "Построение" проверьте раздел "Подписание кода" для любых старых профилей. Это произошло со мной много раз, особенно после обновления до новой версии sdk и iphone os
Ответ 7
Quick Hack, если вы находитесь на Xcode 4.3.
В Xcode под Настройки проектa > MyTarget > вкладка "Сводка" полностью внизу установлен флажок "Разрешить права". Когда я снял флажок, это заставило ошибку уйти.
Ответ 8
После того, как я долгое время был в тупике, я снова просмотрел настройки и обнаружил, что я изменил идентификаторы "Sign Signing Identity" и "Any iPhone OS Device". - Ключ, который я имел к этому, показал.
- Удаление всех профилей с телефона
- Сборка и хостинг.
В этот момент xcode пытается установить телефон (устройство)
- Изучите телефон, чтобы узнать, какой профиль подготовки был добавлен.
Поскольку я префикс всех моих профилей "AdHoc" или "Development" или "AppStore", я сразу понял, что процесс установки помещает профиль разработки на устройство, а не профиль AdHoc.
Ответ 9
Внутри ресурсов /Entitlements.plist есть логическая "get-task-allow", если это не проверено, проверьте ее. Это исправило проблему для меня.
Ответ 10
Устройство не может быть в списке. Попробуйте изменить профиль подготовки.
Ответ 11
Просто добавьте примечание здесь: я столкнулся с той же ошибкой (0xE8008016) после замены моей логической платы Macbook (хотя, я думаю, у вас будет такая же проблема на совершенно новом Mac), и после нескольких часов по кругу Я понял, что у портала программы разработчиков iPhone есть отдельные сертификаты для Разработка и Распространение.
Изменение аппаратного обеспечения означает, что вам нужно переиздать оба сертификата - я переиздал Developer, но не Distribution. Поскольку мое имя не изменилось, когда мое оборудование (и сертификаты были идентифицированы по имени владельца), это создало сложную проблему, чтобы заметить;) Надеюсь, это сэкономит кому-то свое разочарование.
Ответ 12
Другая причина заключается в том, что устройство, которое вы хотите установить, не является утвержденным устройством в сертификате распространения.
Ответ 13
Для справки я столкнулся с той же проблемой и удалил все мои профили, существующие сертификаты и все, что было на моем локальном диске и с портала разработчиков, и удаление моих существующих устройств и их повторное добавление (портал разработчика), казалось, трюк.
Ответ 14
Проблема заключается в файле project.pbxproj, расположенном внутри файла .xcodeproject [вашего проекта]. Если вы почувствуете смелый щелчок правой кнопкой мыши на .xcodeproject и просмотрите содержимое, откройте "project.pbxproj" с помощью текстового редактора плана. Внутри найдите наступательный путь и исправьте его. В моем случае я просто удалил весь путь и оставил "Entitlements.plist", и он очистил мои проблемы. Я настоятельно рекомендую создать резервную копию вашего .xcodeproject, прежде чем пытаться это сделать.
Ответ 15
Дважды щелкните цель, затем выберите вкладку "Свойства". Измените com.yourcompany.${...}
.
Ответ 16
Иногда Xcode автоматически не копирует ваш профиль обеспечения в нужное место.
В моем случае это было правдой.
Убедитесь, что ваш профиль обеспечения находится в каталоге ~/Library/MobileDevice/Provisioning Profiles, и если вы не просто перетаскиваете, очищаете и создаете