Универсальное приложение для iPad отклонило из-за катастрофического отказа запуска, который я не могу воспроизвести

Я очень расстроен этой проблемой. После того, как одна неделя ожидания моего универсального приложения для 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 в веб-представление после приложения, это запускается так, я не понимаю, почему это говорит "отказавший для запуска вовремя"

Любая справка будет очень цениться.

11
задан Enrique R. 5 May 2010 в 01:24
поделиться

6 ответов

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

«... Это проблема с процессом отправки, а не с вашим кодом. Разработчики iPhone OS изучают проблему .... "

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

20
ответ дан 3 December 2019 в 05:11
поделиться

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

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

3
ответ дан 3 December 2019 в 05:11
поделиться

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

1
ответ дан 3 December 2019 в 05:11
поделиться

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

EDIT: Посмотрите этот ответ iPhone Development Simulate Memory Warning

0
ответ дан 3 December 2019 в 05:11
поделиться

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

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

0
ответ дан 3 December 2019 в 05:11
поделиться

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

-2
ответ дан 3 December 2019 в 05:11
поделиться