2010-07-29 6 views
5

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

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

Jul 29 17:44:18 Xcode[12893]: AMDeviceStartHouseArrestService (thread 0x120e8e000): There was an error from the device: ApplicationLookupFailed

Jul 29 17:44:19 Xcode[12893]: call_and_response (thread 0x120e8e000): GOT AN ERROR 0xe800003a

Jul 29 17:44:19 Xcode[12893]: perform_command (thread 0x120e8e000): There was an error communicating with the service agent: 0xe8008001

Jul 29 17:44:19 Xcode[12893]: AMDeviceSecureInstallApplication (thread 0x120e8e000): Could not install package on device: e8008001

Jul 29 17:44:19 Xcode[12893]: Result for ‘/SourceCache/DTDeviceKit/DTDeviceKit-232.24/DTDeviceKit/DTDeviceKit_Utilities.m’ at 468 : 0xE8008001

Jul 29 17:44:19 Xcode[12893]: Result for ‘/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m’ at 265 : 0xE8008001

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

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

Заранее благодарим за это.

Update

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

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

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : unrecognized status -25293 from codesigning library

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 verify_signer_identity: Could not copy validate signature: -402620415

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.0DuNfz/landu.app

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 install_application: Could not preflight application install

Thu Jul 29 22:40:22 Roberts-3GS mobile_installation_proxy[961] : handle_install: Installation failed

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 handle_install: API failed

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 send_message: failed to send mach message of 64 bytes: 10000003

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 send_error: Could not send error response to client

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

+0

Так просто, чтобы позволить всем, кто страдает от тех же проблем знают, что в конечном итоге решить ее: Я просто воссоздали свой сертификат разработчика и мои профили выделения ресурсов через веб-сайт разработчика и переустановить оба. После цикла чистой сборки все работало, как ожидалось (в XCode4), и теперь все в порядке. Итак, если вы когда-нибудь сталкиваетесь с такой проблемой, идите в консоль устройства, и если она будет выглядеть как моя, это путь. –

ответ

2

Во-первых, посмотрите здесь: http://9mmedia.com/blog/?p=229

Тогда:

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

С другого поста:

get-task-allow, when signed into an application, allows other processes (like the debugger) to attach to your app. Distribution profiles require that this value be turned off, while development profiles require this value to be turned on (otherwise Xcode would never be able to launch and attach to your app). <-- Not sure if this last part is true anymore.

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

+0

Спасибо за ответ - вы правы: DP2 потрясающий :) Повторное создание профилей и переустановка их была моей первой попыткой исправить это - так что да, я уже пробовал это. Также включается ключ get-task-allow в панели «Права доступа». Я посмотрел сообщение в блоге, с которым вы связались, и все мои идентификаторы одинаковы. –

+0

Ваш телефон взломан? 0xE8008001 появляется во многих хитах google как проблема только на взломанных телефонах. – iwasrobbed

+0

Да, я тоже это заметил :) Нет, его не взломали и его не закалили в любом виде. –

0

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

От Xcode 4 ридх:

PLEASE NOTE: Xcode 4 is beta software. Continue to use Xcode 3.2.x for production development. This release of Xcode 4 is compatible with Xcode 3.2.x project files.

+0

Привет, Стив, спасибо за anwser. Хотя я действительно не читал этот отрывок, я должен был заметить, что попытался развернуть свое приложение и с помощью XCode 3.2.4. К сожалению, это дало тот же результат. –

+0

Я вижу, что вы уже решили свою проблему, но я укажу, что Xcode 3.2.4 является бета-версией iOS 4.1, а также не предназначен для сборки дистрибутива. –

+0

Я буду помнить об этом - спасибо. –