(iOS)iPad应用程序在启动时随机崩溃

18

我有一个iPad应用程序在现场(企业分发)中,它在大约使用了150次后突然停止工作。它加载黑屏就像即将打开,但随后闪回到主屏幕。

  • 没有其他应用程序安装在iPad上。
  • iPad没有越狱。
  • iPad软件自安装以来没有更新过。

该应用程序仍然保留在运行列表中,但无法打开。在重置iPad并重新安装该应用程序后,它再次正常运行。崩溃报告如下:

Incident Identifier: 97E6C3AC-0A3F-4D5A-9316-14361B8875C8
CrashReporter Key:   acbe2088ab1236c4f317ec9e0fb85d4a9d7b5b3a
Hardware Model:      iPad1,1
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2011-08-05 14:52:54.380 -0400
OS Version:      iPhone OS 4.3.2 (8H7)
Report Version:  104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   dyld                            0x2fe0124a dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*) + 446
1   dyld                            0x2fe01058 _dyld_start + 48

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000009      r2: 0x00000009      r3: 0x0004a000
    r4: 0x0004a01c    r5: 0x00000000      r6: 0x00000005      r7: 0x2fe48a18
    r8: 0x2fe6f18c    r9: 0x2fe96964     r10: 0x2fe494f4     r11: 0x00049000
    ip: 0x2fe96984    sp: 0x2fe489d0      lr: 0x2fe489ac      pc: 0x2fe4a24a
  cpsr: 0x60000030

Binary Images:
0x2fe49000 - 0x2fe6efff  dyld armv7  <bb9bfc7d242331d29a79adf7ef7aaa18> /usr/lib/dyld

这份报告包含的就是所有信息。

我们从未能够在模拟器上重现崩溃。

有任何想法吗?在确保错误已修复之前,不能将其发送回去。谢谢,


5
这听起来就像是一个配置文件已经过期时发生的情况。我对企业级分发没有经验,但您确定配置文件已正确安装了吗? - Desmond
我完全同意,不过这种情况只是偶尔发生,而且设备上的配置文件仍然显示为已验证。 - JJ.
1
我们的应用程序也遇到了同样的问题,最终我认为这可能是与配置文件有关的问题(可能与旧配置文件冲突)。由于我们无法使用XCODE连接设备,客户使用iPhoneConfigurationUtility删除了所有配置文件并干净地安装了应用程序。之后...它就可以正常工作了。 - Andrei Stanescu
1
通常情况下,从设备中删除过期和无效的配置文件会神奇地帮助解决问题。 - fspirit
1
@JJ,你找到解决这个问题的方法了吗? - Rok Jarc
你在使用Core Data吗?我最近遇到了这个问题,结果发现使用Core Data的Sqlite数据库已经损坏了。 - Dan
6个回答

1
系统可能会关闭应用程序,因为预配文件已过期。如果您可以访问旧的应用程序(例如通过与iTunes同步,然后在应用程序上执行“在查看器中显示”操作),则可以在应用程序内找到预配文件,如embedded.mobileprovision ,您可以检查它以确定其是否已过期。

0

仔细检查您的启动序列。也许您正在读取的某个配置文件已损坏或无法正确反序列化为数据结构(例如NSDictionary)。

我也遇到过这种情况。


0
今天我遇到了这个问题,最终我调整了我的应用程序的配置文件,然后奇怪的崩溃就消失了。 所以你可以尝试这种方法来解决问题。 PS:我的崩溃日志与JJ的相同。 祝你好运。

0

1. 确保设备标识符密钥已添加到您的IDP分发配置文件中,
2. 下载该配置文件并将其拖放到Xcode中
3. 清理、构建/归档您的应用程序项目
4. 给用户一个可以下载(安装)移动配置文件的URL
5. 企业分发您的应用程序。


0

尝试将项目设置中不仅加入armv7,而且还要加入armv6。


0

它是否总是在使用150次或更多次后发生?
如果是的话,请检查在大量使用时会受到哪些参数的影响。 我曾经遇到过类似的问题,但我的应用程序使用了核心数据。我保存了一些值,但错误地将类型设置为INT 16。对于iOS 5及以上版本,每当值超过2^15时,它就会崩溃。 其次,您能否在退出后重新启动应用程序,还是必须删除应用程序并重新安装才能解决问题?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接