Приложение Universal iPad было отклонено из-за сбоя при запуске, который я не могу воспроизвести - PullRequest
11 голосов
/ 05 мая 2010

Я очень разочарован этой проблемой. После одной недели ожидания мое универсальное приложение для iPad было отклонено из-за «сбоя при запуске на iPad с iPhone OS 3.2 и iPhone 3GS с iPhone OS 3.1.3 и Mac OS X 10.6.2».

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

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

http://iphonedevelopment.blogspot.com/2010/04/converting-iphone-apps-to-universal.html

Вот журналы сбоев, которые Apple прислала мне:

Incident Identifier: 3E0D4A3B-2896-444D-BCBE-6C0CA1A66A90
CrashReporter Key:   18b5124ea5f657227c5f202a27ed707379b3e2e7
Process:         Transfer [982]
Path:            /var/mobile/Applications/E9062465-7EA6-424C-9C61-D9DBCC7C915A/Transfer.app/Transfer
Identifier:      Transfer
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-05-04 15:35:57.399 -0700
OS Version:      iPhone OS 3.1.3 (7E18)
Report Version:  104

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x00000001, 0x3eaa2188
Highlighted Thread:  0

Backtrace not available

Unknown thread crashed with ARM Thread State:
    r0: 0x00002f90    r1: 0x00000000      r2: 0x385242d8      r3: 0x0000010d
    r4: 0x00000000    r5: 0x00000000      r6: 0x00000000      r7: 0x00000000
    r8: 0x2ffffba0    r9: 0x2fffef90     r10: 0x00000000     r11: 0x00000000
    ip: 0x0000000c    sp: 0x2ffffba4      lr: 0x2fe08727      pc: 0x00002f94
  cpsr: 0x40000010

Binary Images:
    0x1000 -    0x25fff +Transfer armv7   /var/mobile/Applications/E9062465-7EA6-424C-9C61-D9DBCC7C915A/Transfer.app/Transfer
0x2fe00000 - 0x2fe24fff  dyld armv7   /usr/lib/dyld
....

И тот, что для iPad:


Incident Identifier: 3B170A28-C8E2-4018-8166-E69432A65070
CrashReporter Key:   4a0194e3f60559127faef2b014df605e4c47b981
Hardware Model:      iPad1,1
Process:         Transfer [533]
Path:            /var/mobile/Applications/400EE394-7BEE-45CA-942D-DBDC106360FF/Transfer.app/Transfer
Identifier:      Transfer
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-05-04 15:37:17.505 -0700
OS Version:      iPhone OS 3.2 (7B367)
Report Version:  104

Exception Type:  00000020
Exception Codes: 0x8badf00d
Highlighted Thread:  0

Application Specific Information:
com.erclab.iphone.photodownload failed to launch in time 
elapsed total CPU time (seconds): 1.150 (user 0.560, system 0.590), 6% CPU 
elapsed application CPU time (seconds): 0.150, 1% CPU

Thread 0:
0   libobjc.A.dylib                0x33561996 0x33560000 + 6550
1   libobjc.A.dylib                0x33564986 0x33560000 + 18822
2   libobjc.A.dylib                0x33564cb2 0x33560000 + 19634

...

Приложение не выполняет ничего, кроме загрузки локального HTML-кода в веб-представление после запуска приложения, поэтому я не понимаю, почему оно говорит "не удалось запустить вовремя"

Буду очень признателен за любую помощь.

Ответы [ 6 ]

20 голосов
/ 13 мая 2010

ВАУ !!!! Теперь это очень, очень расстраивает. После многих часов и даже дней отладки, просмотра моего кода, тестирования в различных сценариях, задавания вопросов и двух отклонений, Apple написала мне письмо сегодня (через 18 дней после моей первой отправки):

"... Это проблема с процессом отправки, а не с вашим кодом. IPhone OS Engineering исследует проблему ...."

Вы можете представить, что я чувствую сейчас. Спасибо всем, кто помогает мне разобраться в этом "сбое".

3 голосов
/ 05 мая 2010

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

Авария - это вовсе не авария, это система, которая заставляет ваше приложение завершать работу, потому что для запуска потребовалось слишком много времени. Переместите все, что вы можете, из приложения DidFinishLaunching, чтобы оно могло завершиться, ну, в общем, запуском.

1 голос
/ 05 мая 2010

Если вы загружаете веб-страницу, что происходит, когда вы отключаете все сети (режим полета) и запускаете? Это один из стандартных тестов, которые они запускают, поэтому вы тоже должны.

0 голосов
/ 05 мая 2010

Вы сказали, что скопировали свой код. Вы также копировали свои местные ресурсы? тоесть твой html файл? И ты уверен, что это не просто связано? Это включено в сборку? Если файл просто связан с пакетом, он может объяснить, почему он запускается для вас, а не для них.

В будущем (и, возможно, вы захотите попробовать это, чтобы увидеть, работает ли он для вас лучше ) правильный способ обновить ваше приложение до универсального - использовать опцию Xcode file Upgrade for iPad (или что-то в этом роде), которая сделает всю необходимую работу для того, чтобы сделать его совместимым с iPad. Шаг за шагом на сайте Apple, просто выполните поиск в Google, как создать универсальное приложение.

0 голосов
/ 05 мая 2010

Я бы попробовал смоделировать состояние нехватки памяти и посмотреть, как наше приложение справится с этим.

EDIT: Проверьте этот ответ iPhone Development Simulate Memory Warning

0 голосов
/ 05 мая 2010

Просто отправьте то же самое приложение в Apple без любых изменений. Кто-то еще рассмотрит это, и они одобрят это. Поверь мне, я делал это раньше. Команда одобрения Apple совершенно сумасшедшая. На устройствах происходит сбой приложений из-за проблем с памятью. Это то, что не может быть воспроизведено. Из вашей аварийной остановки это выглядит так.

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