通用iPad应用程序因发布崩溃而被拒绝,我无法重现

时间:2010-05-05 01:24:47

标签: iphone objective-c ipad

我对这个问题非常沮丧。经过一周的等待,我的通用iPad应用程序被拒绝,因为“正在运行iPhone OS 3.2和iPhone 3GS运行iPhone OS 3.1.3和Mac OS X 10.6.2的iPad上发布时崩溃。”

不幸的是我无法复制问题,我已经在调试和发布模式下测试过,应用程序运行正常。我甚至创建了一个ad-hoc配置并在其他设备上测试它,一切正常。

我应该澄清这是对当前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加载到Web视图中之外不执行任何操作,因此我不明白为什么它说“未能及时启动”

非常感谢任何帮助。

6 个答案:

答案 0 :(得分:20)

哇!!!!现在,这非常非常令人沮丧。经过大量时间甚至数天的调试,查看我的代码,在不同情况下进行测试,提出问题和2次拒绝,Apple今天给我发了一封电子邮件(我第一次提交后18天):

“......这是提交过程中的一个问题,而不是您的代码.iPhone OS Engineering正在调查此问题....”

你可以想象我现在的感受。感谢所有帮助我解决这个“崩溃”的人。

答案 1 :(得分:3)

您是否尝试从applicationDidFinishLaunching加载Web视图?您确定测试人员可以连接到您的服务器吗?

崩溃根本不是崩溃,系统强制你的应用程序退出,因为启动时间太长。将所有内容从applicationDidFinishLaunching中移出,以便它可以完成,然后启动。

答案 2 :(得分:1)

如果您正在加载网页,当您禁用所有网络(飞行模式)并启动时会发生什么?这是他们运行的标准测试之一,所以你也应该这样做。

答案 3 :(得分:0)

我会尝试模拟低内存条件,看看我们的应用程序如何处理它。

修改 查看此答案iPhone Development Simulate Memory Warning

答案 4 :(得分:0)

你说你复制了你的代码。您是否也复制了当地资源?即你的HTML文件?你肯定它不仅仅是联系在一起吗?它是否包含在构建中?如果文件只是链接到捆绑包,它可以解释为什么它为你启动而不是为他们启动。

将来(也许你想尝试这个,看它是否更好)对于你来说,将你的应用程序升级到通用应用程序的正确方法是使用Xcode文件选项升级iPad(或类似的东西),它将为你做所有必要的工作,使其与iPad兼容。一步一步是在苹果网站上,只需谷歌搜索如何创建通用应用程序。

答案 5 :(得分:-2)

只需将相同的应用再次提交给Apple,无需任何更改。其他人会审查它,他们会批准它。相信我,我以前做过。苹果审批团队非常疯狂。 在设备上,应用程序因内存问题而崩溃。这是无法再现的。从你的故障转储看起来就是这样。