Приложению не удалось проверить ошибку при создании приложения для устройства iPhone

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

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

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

ИЗМЕНИТЬ

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

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

ИЗМЕНИТЬ

Хорошо, у меня есть соответствующий журнал из Organizer, показывающий проблему. Похоже, я не настроил Entitlements.plist, но в xcode у меня есть. (Я добавил False, но не снял 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

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

ИЗМЕНИТЬ

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

Ответ 1

От этот поток в ADC:

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

Ответ 2

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

Ответ 3

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

Ответ 4

Убедитесь, что ваш iPhone правильно подготовлен. Вы можете подключиться к iPhone и запустить Организатор из XCode (Главное меню → Окно → Органайзер), а затем проверить ИНФОРМАЦИЯ ПРОФИЛЕЙ.

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

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

Ответ 5

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

Не знаю, помогает ли это, что шаг, который я нашел, отсутствует в вашем описании.

Ответ 6

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

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

Ответ 7

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

Ответ 8

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

У меня возникла эта проблема, потому что у меня было приложение из App Store & Я тестировал свою версию обновления из Xcode. & с тем же идентификатором, что и в моем живом приложении.

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

Ответ 9

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

Ответ 10

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

Экспортировать профиль разработчика на компьютере, который работает, а затем импортировать на машину с этой проблемой. Выполнено с помощью настроек/Учетные записи, значок Gear внизу.

Ответ 11

Переход в окно > Устройства и просмотр установленных приложений, я смог узнать, что мое приложение уже установлено. Выберите приложение и нажмите "-", чтобы удалить его с устройства. Попробуйте восстановить приложение с помощью этого устройства в качестве цели.

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