Не удалось подтвердить ошибку приложения при создании приложения для устройства iPhone - PullRequest
46 голосов
/ 15 июня 2009

Хорошо, я только что приобрел себе новый MacBook Pro, и, разрабатывая приложение для iPhone на другом MacBook, я хотел перенести свою разработку на свой новый компьютер.

Я дошел до стадии, когда я могу без проблем собрать приложение и запустить его на симуляторе, но когда дело доходит до запуска приложения на моем iPhone, я продолжаю получать сообщение «Приложение не может быть проверено». Я установил новый сертификат разработчика и установил профили обеспечения (все сгенерированные новые), но я в растерянности, почему я все еще получаю ошибку.

У кого-нибудь есть идеи относительно того, где я ошибаюсь?

EDIT

Я воссоздал сертификат и профилирующий профиль и т. Д. ... Сборка завершается успешно, а статус внизу переходит в «Установка на устройство», затем отображаются два модальных диалога с одним и тем же «Приложение может не проверяется "сообщение об ошибке.

Могу ли я получить какой-либо вывод, который даст мне точную ошибку?

EDIT

ОК, я получил соответствующий журнал от Организатора, показывающий проблему. Похоже, я не настроил Entitlements.plist, но в xcode у меня есть. (Я добавил файл Entitlements.plist, затем снял флажок с get-task-allow, затем добавил Entitlements.plist в настройки проекта в разделе «Права подписи кода»). Лог это:

Tue Jun 16 07:35:42 unknown mobile_installation_proxy[1162] <Error>: install_embedded_profile: Skipping the installation of the embedded profile
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: entitlement 'get-task-allow' has value not permitted by a provisioning profile
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: verify_executable: Could not validate signature: e8008016
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: preflight_application_install: Could not verify /var/tmp/install_staging.1WIVsB/BouldrData.app/BouldrData
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: install_application: Could not preflight application install
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: handle_install: Installation failed
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: user mobile has uid 501
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: mode is 0x41e8

Может кто-нибудь пролить свет на то, почему это не работает, как ожидалось?

EDIT

Сборка работает, но я еще не принял ответ, так как понятия не имею, что происходит. Кто-нибудь с какой-либо идеей о том, что происходит?

Ответы [ 11 ]

93 голосов
/ 02 февраля 2015

Моя проблема была на самом деле в том, что я уже установил приложение через тестовый полет на своем телефоне, после удаления приложения оно заработало!

32 голосов
/ 26 февраля 2015

Я решил проблему, удалив из телефона уже установленную сборку, а затем переустановил сборку.

16 голосов
/ 22 июня 2009

С эта тема на АЦП :

get-task-allow при входе в приложение позволяет другим процессам (например, отладчику) подключаться к вашему приложению. Профили распространения требуют, чтобы это значение было отключено, в то время как профили разработки требуют, чтобы это значение было включено (иначе Xcode никогда не сможет запускаться и присоединяться к вашему приложению).

6 голосов
/ 16 июня 2009

Проверьте, правильно ли ваш iPhone подготовлен . Вы можете подключить iPhone и запустить Органайзер из XCode (Главное меню -> Окно -> Органайзер), а затем проверить ПРЕДОСТАВЛЕНИЕ ПРОФИЛЕЙ Информация.

После этого вам нужно сопоставить Идентификатор пакета (Project -> Info.plist) и ваш идентификатор приложения. Вы можете прочитать эту заметку Apple Несоответствие между идентификатором приложения и идентификатором пакета

У меня были похожие окна сообщений (два подряд), когда мой Идентификатор пакета был неверным.

3 голосов
/ 15 июня 2009

Вы не забыли развернуть Targets слева от окна проекта, затем щелкните правой кнопкой мыши на имени своего приложения> , чтобы получить информацию , затем перейдите на вкладку Build и под Подпись кода , под Идентификация подписи кода , измените значение Любое устройство iPhone OS на то, что применимо в вашем случае? Также на вкладке свойств вы должны установить свой идентификатор так, чтобы он совпадал с выбранным вами идентификатором.

Не знаю, поможет ли это, но этот шаг я не нашел в вашем описании.

2 голосов
/ 16 июня 2009

Я знаю, что вы уже проверили кое-что из этого, но этот ответ завершен:

  • Убедитесь, что новый профиль обеспечения и сертификат имеют имя на уровне target для каждого параметра сборки, который вы хотите установить на устройстве.
  • Права подписи кода также должны быть определены на уровне target , а не на проекте.
  • Дважды проверьте ваш журнал сборки, ища строку, которая включает CodeSign. Убедитесь, что он есть, и используйте ожидаемый сертификат.
  • Если ничего не помогает, удалите удостоверение подписи кода из вашей цели, очистите все цели, удалите все каталоги сборки из вашего проекта, выйдите и перезапустите Xcode, замените удостоверение подписи кода и попробуйте снова построить.
1 голос
/ 29 июня 2016

«Приложение не может быть проверено», на вашем устройстве уже может быть установлено приложение с тем же идентификатором пакета.

Я получил эту проблему, потому что у меня было приложение из магазина приложений, и я тестировал его обновленную версию из XCode.

Настолько простое решение Просто удалите приложение и установите снова .. ....

1 голос
/ 17 августа 2015

Зайдя в «Окно»> «Устройства» и просмотрев «Установленные приложения», я смог обнаружить, что мое приложение уже установлено. Выберите приложение и нажмите «-», чтобы удалить его с устройства. Попробуйте перестроить свое приложение с этим устройством в качестве цели.

Работало на меня, хотя с телефона я не мог найти, где было установлено приложение!

1 голос
/ 10 апреля 2015

Проблема решена (по крайней мере, для меня!)

Экспорт профиля разработчика на машину, которая работает, затем импорт на машину с проблемой. Сделано через Настройки / Аккаунты, Значок шестеренки внизу.

1 голос
/ 16 июня 2009

В дополнение к проверке подписи кода обязательно перейдите в меню Build и запустите «Очистить все цели». Время от времени Xcode путается.

...