这个 IOS 应用程序崩溃报告是啥意思?
Posted
技术标签:
【中文标题】这个 IOS 应用程序崩溃报告是啥意思?【英文标题】:What does this IOS app crash report mean?这个 IOS 应用程序崩溃报告是什么意思? 【发布时间】:2015-05-04 00:06:57 【问题描述】:手机是 iPhone 4,不支持 ios 8。该应用兼容 iOS 7,之前版本的应用在 iPhone 4 上运行。
我可以在 iPhone 4 上安装它,但是一旦我登录应用程序,它就会崩溃。这是崩溃报告的副本:
Incident Identifier: 7083D8D9-A834-49D2-9BAE-740C4381B1ED
CrashReporter Key: 31b0b47127ebc15ed8ec25b14f923e5fb96fada5
Hardware Model: iPhone3,1
Process: [1081]
Path: /var/mobile/Applications/BDB720EA-C2C8-427A- BC3B-29B4A7679D1E/
Identifier: ApnApp
Version: 14.5 (14.1)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2015-05-01 09:18:04.436 +1000
OS Version: iOS 7.1.2 (11D257)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread: 0
Application Specific Information:
[1081] has active assertions beyond permitted time:
(
<BKProcessAssertion: 0x145d4bf0> identifier: Suspending process: [1081] permittedBackgroundDuration: 10.000000 reason: suspend owner pid:28 preventSuspend preventThrottleDownCPU preventThrottleDownUI preventSuspendOnSleep
)
Elapsed total CPU time (seconds): 1.410 (user 1.410, system 0.000), 28% CPU
Elapsed application CPU time (seconds): 0.005, 0% CPU
Thread 0:
0 libsystem_kernel.dylib 0x38c76aa8 0x38c76000 + 2728
1 lib.dylib 0x38bc1f74 0x38bad000 + 85876
2 CFNetwork 0x2dabc868 0x2daba000 + 10344
3 Foundation 0x2e8a851e 0x2e831000 + 488734
4 0x000eb6ea 0xe4000 + 30442
5 0x00109a9c 0xe4000 + 154268
6 UIKit 0x30949b04 0x30728000 + 2235140
7 UIKit 0x30949948 0x30728000 + 2234696
8 UIKit 0x3085103a 0x30728000 + 1216570
9 UIKit 0x30903352 0x30728000 + 1946450
10 UIKit 0x307b26d2 0x30728000 + 566994
11 UIKit 0x3072b536 0x30728000 + 13622
12 CoreFoundation 0x2dee1252 0x2de42000 + 651858
13 CoreFoundation 0x2dedebf4 0x2de42000 + 642036
14 CoreFoundation 0x2dedef36 0x2de42000 + 642870
15 CoreFoundation 0x2de49eba 0x2de42000 + 32442
16 CoreFoundation 0x2de49c9e 0x2de42000 + 31902
17 GraphicsServices 0x32d4f65e 0x32d46000 + 38494
18 UIKit 0x30796148 0x30728000 + 450888
19 0x000e8f66 0xe4000 + 20326
20 libdyld.dylib 0x38bd3ab4 0x38bd2000 + 6836
Thread 1:
0 libsystem_kernel.dylib 0x38c76808 0x38c76000 + 2056
1 lib.dylib 0x38bc2de8 0x38bad000 + 89576
2 lib.dylib 0x38bb1f6e 0x38bad000 + 20334
Thread 2 name: com.apple.NSURLConnectionLoader
Thread 2:
0 libsystem_kernel.dylib 0x38c76a58 0x38c76000 + 2648
1 libsystem_kernel.dylib 0x38c76854 0x38c76000 + 2132
2 CoreFoundation 0x2dee0846 0x2de42000 + 649286
3 CoreFoundation 0x2dedef6c 0x2de42000 + 642924
4 CoreFoundation 0x2de49eba 0x2de42000 + 32442
5 CoreFoundation 0x2de49c9e 0x2de42000 + 31902
6 Foundation 0x2e88a082 0x2e831000 + 364674
7 Foundation 0x2e8ffa5a 0x2e831000 + 846426
8 libsystem_pthread.dylib 0x38cf2916 0x38cf0000 + 10518
9 libsystem_pthread.dylib 0x38cf2886 0x38cf0000 + 10374
10 libsystem_pthread.dylib 0x38cf0aa0 0x38cf0000 + 2720
Thread 3 name: com.apple.CFSocket.private
Thread 3:
0 libsystem_kernel.dylib 0x38c89434 0x38c76000 + 78900
1 CoreFoundation 0x2dee4708 0x2de42000 + 665352
2 libsystem_pthread.dylib 0x38cf2916 0x38cf0000 + 10518
3 libsystem_pthread.dylib 0x38cf2886 0x38cf0000 + 10374
4 libsystem_pthread.dylib 0x38cf0aa0 0x38cf0000 + 2720
Thread 4 ......
No thread state (register information) available
崩溃的原因是什么?
【问题讨论】:
该异常表明您的应用在后台运行超过 10 分钟。你应该看看你的应用委托后台方法,看看为什么会这样 回复:The phone is Iphone 4 and as you all know that doesn't have IOS 7.
iPhone 4 最高支持 iOS 7.1.2。
@Paulw11 感谢您的建议。我可以告诉你,虽然该应用程序在 Iphone 4s 及更高版本上完美运行,但它会在我登录后立即发生,而且很有趣。
@Paulw11 后台有一个计时器,但是,无论是否最初从服务器设置为在用户登录后运行,这个计时器都会被触发。我还没有设置计时器.
【参考方案1】:
我认为它与长时间运行的任务有关,您不应该在应用委托或首先筛选您的应用中进行同步操作。它可能发生在慢速连接等(如果它的网络相关工作)尝试进行异步调用。由于那个长时间运行的任务,应用程序甚至无法启动。如果一个应用程序需要很长时间才能加载,ios 会自动终止它。
【讨论】:
应用通过服务器建立连接,用户登录后开始捕获需要的数据并存储在本地db中。确定wifi有很强的连接性,所以手机挂上了wifi .它在 IOS 7 手机中发生了什么并且在 IOS 8 手机中完美运行? @mehmet 可以在调试器中查看是哪一行出错,在xcode中添加异常断点来检查哪一行出错。 我没有机会找到代码来找出错误。无论如何感谢您的建议。以上是关于这个 IOS 应用程序崩溃报告是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章