Ошибка подписи кода в Xcode 3.2
-
05-07-2019 - |
Вопрос
До обновления до iPhone OS 3.1 и Xcode 3.2 у меня была полностью рабочая среда сборки.Теперь, когда я пытаюсь выполнить сборку, я получаю следующее:
Ошибка кодового знака:Профиль подготовки "FooApp test" указывает идентификатор приложения "no.fooapp.iphoneapp", который не соответствует текущему параметру "TGECMYZ3VK.no.fooapp.iphoneapp"
Проблема в том, что Xcode каким-то образом умудряется думать, что профиль подготовки "FooApp Test" указывает идентификатор приложения "no.fooapp.iphoneapp", но это не так.
В Органайзере (и на веб-сайте iPhone developer portal) идентификатор приложения правильно отображается как "TGECMYZ3VK.no.fooapp.iphoneapp".
Кроме того, при настройке профиля подготовки в параметрах сборки на уровне проекта Xcode правильно идентифицирует идентификатор приложения, но когда я перехожу к целевому объекту, я не могу выбрать какой-либо допустимый профиль подготовки.
Что может быть причиной этой проблемы?
Обновить:Я пытался создать новый профиль подготовки, но по-прежнему безуспешно.Я также попытался просто изменить приложение, указанное в Info.plist, на просто "no.fooapp.iphoneapp".Сборка прошла успешно, но теперь я получаю сообщение об ошибке от организатора:
Исполняемый файл был подписан с недопустимыми правами доступа.Права, указанные в файле прав подписи кода вашего приложения, не совпадают с правами, указанными в вашем профиле подготовки.(0xE8008016).
Это кажется разумным, поскольку профиль подготовки по-прежнему имеет идентификатор приложения "TGECMYZ3VK.no.fooapp.iphoneapp".
Я также дважды проверил, что все сертификаты действительны в Связке ключей.
Итак, мой вопрос заключается в том, как я могу заставить Xcode видеть правильный идентификатор приложения?
Обновить:Как отмечено ниже, что, по-видимому, устраняет проблему, так это удаление всех профилей подготовки, сертификатов и т.д., создание новых сертификатов / профилей и их повторная установка.Если у кого-то есть какие-либо другие решения, мы будем рады им.:)
Решение 2
Что ж, как и в случае со многими из этих проблем с подписью кода, удаление всех профилей обеспечения, сертификатов и т. д., а также отзыв и генерация всего заново оказались полезными. Я даже создал новый идентификатор пакета, идентификатор приложения и т. Д., И теперь рассылка AdHoc снова работает.
Другие советы
Мне пришлось вручную удалить профили инициализации со своего телефона, а затем перестроить приложения, выполнив " очистить все цели " из меню сборки.
Это в настройках - > Общее - > Профили
Это случилось со мной, когда я приобрел новый Mac. Вы исправите это, не волнуйтесь
Вчера у меня была такая же ошибка.Я перепробовал все различные процедуры сброса, приведенные в других ответах, но безуспешно.В конце концов, я тоже
- перезагрузил мой Mac
- перезагрузил мой iPhone
- удалил все мои профили подготовки iPhone с телефона с помощью XCode
- удалил все профили с моего Mac (~/Library/MobileDevice/Provisioning Profiles для меня)
- что еще?удалил папку сборки, перезапустил XCode, установил обновление до 3.1.2 sdk, принес в жертву курицу.
О чудо, теперь это работает, ошибка исчезла.Это серьезная территория вуду.
Кроме того, убедитесь, что вы добавили ссылку на имя файла с правами " dist.plist " в конфигурации вашего проекта CODE_SIGN_ENTITLEMENTS.
Проверьте оба разрешения на подпись кода в информации как для цели сборки, так и для основного приложения - если права подписи кода говорят об этом, то удалите их
В XCode, в " Группы & amp; Файлы & Quot; панель, разверните " Targets " и дважды щелкните по цели вашего приложения.
Откроется информационная панель для вашей цели. В " Построить " в разделе «подписать код» раздел для любых старых профилей. Это случалось со мной много раз, особенно после обновления до новой версии SDK и iphone OS
Быстрый взлом, если вы используете Xcode 4.3.
В Xcode в разделе Настройки проекта > MyTarget > На вкладке "Сводка" полностью внизу есть флажок "Включить права доступа". Когда я снял флажок, ошибка исчезла.
Внутри Resources / Entitlements.plist есть логическое значение " get-task-allow " если это не проверено, включите его. Это исправило проблему для меня.
После того, как я какое-то время был озадачен этим, я снова просмотрел настройки и обнаружил, что изменил записи «Идентификация подписи кода» и «Любое устройство iPhone OS». - Ключ, который я имел к этому случаю, был показан.
<Ол>В этот момент xcode пытается подготовить телефон (устройство)
- Проверьте телефон, чтобы узнать, какой профиль был добавлен. Ол>
Когда я поставил перед всеми моими профилями префикс «AdHoc», «Development» или «AppStore», я сразу увидел, что в процессе установки на устройстве создается профиль разработки, а не профиль AdHoc.
Устройство может отсутствовать в списке. Попробуйте изменить свой профиль обеспечения.
Просто чтобы добавить примечание: я столкнулся с той же ошибкой (0xE8008016) после замены логической платы моего Macbook (хотя я полагаю, что у вас будет такая же проблема на совершенно новом Mac), и после нескольких часов хождения по кругу Я понял, что у портала программ для разработчиков iPhone есть отдельные сертификаты для разработки и распространения .
Изменение в оборудовании означает, что вам нужно переиздать оба сертификата - я бы переиздал Developer, но не Distribution. Поскольку мое имя не изменилось, когда изменилось мое оборудование (и сертификаты идентифицируются по имени владельца), это усложнило задачу;) Надеюсь, это спасет кого-то еще от моего разочарования.
Для справки, я столкнулся с той же проблемой и удалил все свои профили, существующие сертификаты и все с моего локального диска и с портала разработчика, а также удалил мои существующие устройства и заново добавил их (портал разработчика) хитрость.
Проблема в файле " project.pbxproj " файл находится внутри файла [ваш проект] .xcodeproject. Если вы чувствуете смелость, щелкните правой кнопкой мыши на .xcodeproject и просмотрите содержимое, затем откройте " project.pbxproj " с текстовым редактором плана. Внутри найдите наступательный путь и исправьте его. В моем случае я просто удалил весь путь и просто оставил " Entitlements.plist " и это прояснит мои проблемы. Я настоятельно рекомендую создать резервную копию вашего .xcodeproject, прежде чем пытаться это сделать. Р>
Дважды щелкните по цели, затем выберите " Свойства " Вкладка. Там измените com.yourcompany. $ {...}
.
Другая причина в том, что устройство, на которое вы хотите установить, не является утвержденным устройством в сертификате распространения. Р>
Иногда XCode автоматически не копирует ваш профиль обеспечения в нужное место. В моем случае это было правдой.
Убедитесь, что ваш профиль обеспечения находится в каталоге ~ / Library / MobileDevice / Provisioning Profiles , а если нет, просто перетащите, очистите и соберите