XCode не удается развернуть приложение iPhone на iPhone 3GS - PullRequest
5 голосов
/ 29 июля 2010

Итак, я создал приложение для iPhone, и оно отлично работает в симуляторе, поэтому я хотел развернуть его на своем iPhone для одного последнего раунда тестирования, прежде чем перейти к открытому бета-тестированию с моим профилем распространения. Я делал это уже много раз, и это никогда не было проблемой. Однако с момента последнего тестового запуска я обновил свой iPhone (iOS 4) и XCode (версия 4 DP2), поэтому, возможно, проблема кроется в этом.

Процесс сборки работает нормально и успешно - после этого XCode пытается развернуть его на моем iPhone и завершается неудачно с простым «Произошла неизвестная ошибка». Ошеломленный этим, я заглянул в system.log и вот что он говорит:

29 июля, 17:44:18 Xcode [12893]: AMDeviceStartHouseArrestService (поток 0x120e8e000): произошла ошибка устройства: ApplicationLookupFailed

29 июля, 17:44:19 Xcode [12893]: call_and_response (нить 0x120e8e000): ПОЛУЧИЛА ОШИБКУ 0xe800003a

29 июля, 17:44:19 Xcode [12893]: execute_command (поток 0x120e8e000): произошла ошибка связи с агентом службы: 0xe8008001

29 июля, 17:44:19 Xcode [12893]: AMDeviceSecureInstallApplication (поток 0x120e8e000): не удалось установить пакет на устройстве: e8008001

29 июля, 17:44:19 Xcode [12893]: результат для ‘/SourceCache/DTDeviceKit/DTDeviceKit-232.24/DTDeviceKit/DTDeviceKit_Utilities.m’ при 468: 0xE8008001

29 июля, 17:44:19 Xcode [12893]: результат для ‘/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m’ в 265: 0xE8008001

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

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

Заранее спасибо за помощь в этом.

Обновление

Итак, после осмотра я нашел это на консоли устройства в XCode Organizer:

Чт 29 июля 22:40:00 Roberts-3GS SCHelper [38]: 0x104e60 {port = 0x382b, caller = SpringBoard (42): com.apple.preferences, path = /Library/Preferences/SystemConfiguration/preferences.plist }

Чт 29 июля 22:40:22 Установленный Roberts-3GS [960]: нераспознанный статус -25293 из библиотеки кодов

Чт 29 июля 22:40:22 Установочная версия Roberts-3GS [960]: 00503000 verify_signer_identity: Не удалось скопировать проверяющую подпись: -402620415

Чт 29 июля 22:40:22 Установочная версия Roberts-3GS [960]: 00503000 preflight_application_install: не удалось проверить исполняемый файл в /var/tmp/install_staging.0DuNfz/landu.app

Чт 29 июля 22:40:22 Установочная программа Roberts-3GS [960]: 00503000 install_application: Не удалось выполнить предварительную проверку установки приложения

Чт 29 июля 22:40:22 Roberts-3GS mobile_installation_proxy [961]: handle_install: установка не удалась

Чт 29 июля 22:40:22 Установочная версия Roberts-3GS [960]: 00503000 handle_install: сбой API

Чт 29 июля 22:40:22 Установочная программа Roberts-3GS [960]: 00503000 send_message: не удалось отправить сообщение о мах 64 байт: 10000003

Чт 29 июля 22:40:22 Установочная программа Roberts-3GS [960]: 00503000 send_error: Не удалось отправить ответ об ошибке клиенту

Так что, похоже, iPhone не смог проверить подпись кода подписи. Думаю, я заново создам несколько сертификатов и попробую еще раз завтра. Я дам вам знать, как это получается.

Ответы [ 2 ]

2 голосов
/ 29 июля 2010

Сначала посмотрите сюда: http://9mmedia.com/blog/?p=229

Тогда:

Вы пытались воссоздать профиль обеспечения и заново установить его, а затем выполнить синхронизацию с iTunes? Также убедитесь, что ваш get-task-allow отмечен в Entitlements.plist

Из другого поста:

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

Я сделал то, что вы описали с обновлением до iOS4, а также XCode4 DP2 (что, кстати, круто), и у меня не было этой проблемы. Звучит так, как будто плохая установка или что-то повреждено или неуместно.

0 голосов
/ 29 июля 2010

Xcode 4 не должен использоваться для дистрибутивных сборок. Для этого вам нужно собрать Xcode 3.2.3.

Из файла readme Xcode 4:

ОБРАТИТЕ ВНИМАНИЕ: Xcode 4 - это бета-версия программного обеспечения. Продолжать использовать Xcode 3.2.x для разработки продукции. Этот выпуск Xcode 4 совместим с файлами проекта Xcode 3.2.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...