приложение не может быть проверено ошибка при создании приложения для устройства iphone

<p>хорошо, я только что приобрел новый macbook pro, и, разрабатывая приложение для iphone на другом macbook, я хотел перенести свою разработку на мой новый компьютер.</p><p>я дошел до стадии, когда я могу без проблем собрать приложение и запустить его на симуляторе, но когда дело доходит до запуска приложения на моем iphone, я продолжаю получать «приложение не может быть проверено». я установил новый сертификат разработчика и установил профили обеспечения (все сгенерированные новые), но я в растерянности, почему я все еще должен получать ошибку.</p><p>у кого-нибудь есть идеи, где я иду не так?</p><p><strong>правка</strong></p><p>я воссоздал сертификат и профильный профиль и т.д. сборка завершена успешно, а статус внизу переходит в «установка на устройство», затем отображаются два модальных диалоговых окна с одним и тем же «приложение не может быть проверено " сообщение об ошибке.</p><p>могу ли я получить какой-либо вывод, который даст мне точную ошибку?</p><p><strong>правка</strong></p><p>ок, я получил соответствующий журнал от организатора, показывающий проблему. похоже, я не настроил entitlements.plist, но в xcode у меня есть. (я добавил файл entitlements.plist, затем снял флажок с get-task-allow, затем добавил entitlements.plist в настройки проекта в разделе «права подписи кода»). журнал это:</p><pre><code>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 </code></pre><p>может кто-нибудь пролить свет на то, почему это не работает, как ожидалось?</p><p><strong>правка</strong></p><p>сборка работает, но я еще не принял ответ, так как понятия не имею, что происходит. кто-нибудь с какой-либо идеей относительно того, что происходит?</p>

<p>от <a href="https://devforums.apple.com/message/84647#84647">эта тема на ацп</a> :</p><p>get-task-allow при входе в приложение позволяет другим процессам (таким как отладчик) подключаться к вашему приложению. профили распространения требуют, чтобы это значение было отключено, в то время как профили разработки требуют, чтобы это значение было включено (иначе xcode никогда не сможет запускаться и присоединяться к вашему приложению).</p>

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

<p>я решил проблему, удалив уже установленную сборку с телефона, а затем переустановил сборку.</p>

<p>проверьте, правильно ли ваш iphone <strong>подготовлен</strong>. вы можете подключить iphone и запустить <strong>organizer</strong> из xcode (главное меню -> окно -> органайзер), а затем проверить информацию <strong>provisioning profiles</strong>.</p><p>после этого вам необходимо сопоставить <strong>bundle identifier</strong> (project -> info.plist) и ваш идентификатор приложения . вы можете прочитать эту заметку apple <strong> <a href="http://developer.apple.com/iphone/library/technotes/tn2009/tn2242.html">несоответствие между идентификатором приложения и идентификатором пакета</a> </strong></p><p>у меня были похожие окна сообщений (два подряд), когда мой идентификатор пакета был неверным.</p>

<p>вы не забыли развернуть targets слева от окна проекта, затем щелкните правой кнопкой мыши на имени своего приложения> <strong>get info</strong>, затем перейдите на вкладку <strong>build</strong> и в <strong>code signing</strong>, в <strong>код подписи</strong>, измените значение <strong>любого устройства iphone os</strong> на то, что применимо в вашем случае? также на вкладке свойств вы должны установить свой идентификатор так, чтобы он соответствовал выбранному вами идентификатору.</p><p>не знаю, поможет ли это, но этот шаг я не нашел в вашем описании.</p>

<p>я знаю, что вы уже проверили кое-что из этого, но этот ответ завершен:</p><ul> <li>убедитесь, что новый профиль обеспечения и сертификат названы на уровне<strong> target </strong>для каждого параметра сборки, который вы хотите установить на устройстве.</li> <li>права подписи кода также должны быть определены на уровне<strong> target </strong>, а не на проекте.</li> <li>дважды проверьте свой журнал сборки, ища строку, которая включает codesign. убедитесь, что он есть, и используйте сертификат, который вы ожидаете.</li> <li>если ничего не помогает, удалите удостоверение подписи кода из вашей цели, очистите все цели, удалите все каталоги сборки из вашего проекта, выйдите и перезапустите xcode, замените удостоверение подписи кода и попробуйте снова выполнить сборку.</li> </ul>

<p>«приложение не может быть проверено», на вашем устройстве уже может быть установлено приложение с тем же идентификатором пакета.</p><p>я получил эту проблему, потому что у меня было приложение из магазина приложений, и я тестировал его версию обновления из xcode. и с тем же идентификатором, что и в моем живом приложении.</p><p>простое решение просто удалите приложение и установите снова .. ....</p>

<p>в дополнение к проверке подписи кода обязательно перейдите в меню build и запустите «очистить все цели». время от времени xcode путается.</p>

<p>проблема решена (по крайней мере для меня!)</p><p>экспортируйте профиль разработчика на машине, которая работает, затем импортируйте на машину с проблемой. сделано через настройки/аккаунты, значок шестеренки внизу.</p>

<p>зайдя в «окно»> «устройства» и просмотрев «установленные приложения», я смог обнаружить, что мое приложение уже установлено. выберите приложение и нажмите «-», чтобы удалить его с устройства. попробуйте восстановить приложение с этим устройством в качестве цели.</p><p>работал на меня, хотя с телефона я не мог найти, где было установлено приложение!</p>

<p>один важный, но простой в обращении пункт: убедитесь, что все ваши ключи и сертификаты инициализации находятся в<strong> login </strong>keychain. я столкнулся с этим, когда попытался создать новую цепочку ключей «разработки», и все мои профили стали «недействительными».</p>