iphone - iOS 在没有附加 Xcode 的情况下在启动时崩溃

标签 iphone objective-c debugging

我的 iOS 应用程序遇到了一个奇怪的问题。当它通过 Xcode (Build & Run) 运行时,一切正常。应用启动,一切都按预期运行。

但是,如果我尝试像用户一样(通过 Springboard)点击它的图标来打开应用程序,应用程序会立即崩溃并显示下面的崩溃日志。它似乎指向某种与图像相关的问题,但我不明白在使用 Xcode 进行调试时它是如何不发生的。

任何人都可以解释一下吗?

Date/Time:       2012-06-15 16:13:29.035 +0100
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

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

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   dyld                            0x2fe76464 strcmp + 0
1   dyld                            0x2fe6a6e2 ImageLoaderMachO::parseLoadCmds() + 54
2   dyld                            0x2fe72058 ImageLoaderMachOCompressed::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, unsigned int, unsigned int, linkedit_data_command const*, ImageLoader::LinkContext const&) + 296
3   dyld                            0x2fe6b23a ImageLoaderMachO::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, ImageLoader::LinkContext const&) + 302
4   dyld                            0x2fe622f6 _ZN4dyldL10loadPhase6EiRK4statPKcRKNS_11LoadContextE + 478
5   dyld                            0x2fe6255e _ZN4dyldL14loadPhase5statEPKcRKNS_11LoadContextEP4statPiPbPSt6vectorIS1_SaIS1_EE + 386
6   dyld                            0x2fe62716 _ZN4dyldL10loadPhase5EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 278
7   dyld                            0x2fe628fe _ZN4dyldL10loadPhase4EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 218
8   dyld                            0x2fe630dc _ZN4dyldL10loadPhase3EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 1144
9   dyld                            0x2fe63240 _ZN4dyldL10loadPhase1EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 108
10  dyld                            0x2fe63392 _ZN4dyldL10loadPhase0EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 262
11  dyld                            0x2fe634c4 dyld::load(char const*, dyld::LoadContext const&) + 224
12  dyld                            0x2fe650f2 dlopen + 742
13  libdyld.dylib                   0x360d55a2 dlopen + 42
14  CoreFoundation                  0x37256092 _CFBundleDlfcnLoadBundle + 106
15  CoreFoundation                  0x37255f36 _CFBundleLoadExecutableAndReturnError + 370
16  Foundation                      0x32d7bf40 -[NSBundle loadAndReturnError:] + 904
17  SomeApp                         0x000bcb3a 0x5e000 + 387898
18  SomeApp                         0x000c56d0 0x5e000 + 423632
19  SomeApp                         0x000c539a 0x5e000 + 422810
20  SomeApp                         0x00062f86 0x5e000 + 20358
21  UIKit                           0x30438c84 -[UIViewController view] + 160
22  SomeApp                         0x000622a6 0x5e000 + 17062
23  SomeApp                         0x0005fcc4 0x5e000 + 7364
24  UIKit                           0x30437ca4 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1176
25  UIKit                           0x304317d6 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 402
26  UIKit                           0x303ffabc -[UIApplication handleEvent:withNewEvent:] + 1004
27  UIKit                           0x303ff560 -[UIApplication sendEvent:] + 48
28  UIKit                           0x303fef34 _UIApplicationHandleEvent + 5820
29  GraphicsServices                0x3741b224 PurpleEventCallback + 876
30  CoreFoundation                  0x3729f51c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
31  CoreFoundation                  0x3729f4be __CFRunLoopDoSource1 + 134
32  CoreFoundation                  0x3729e30c __CFRunLoopRun + 1364
33  CoreFoundation                  0x3722149e CFRunLoopRunSpecific + 294
34  CoreFoundation                  0x37221366 CFRunLoopRunInMode + 98
35  UIKit                           0x30430864 -[UIApplication _run] + 544
36  UIKit                           0x3042dcce UIApplicationMain + 1074
37  SomeApp                         0x0005fb00 0x5e000 + 6912
38  SomeApp                         0x0005fac0 0x5e000 + 6848

编辑:与 Apple 开发团队讨论了这个问题。问题是我在我的应用程序中使用了一个没有协同签名的自制插件(即使我告诉 Xcode 这样做)。然而,Xcode 4.3.3 有一个错误会破坏 bundle 的代码签名,所以我们很快就会看到它是如何解决的。

最佳答案

看起来这在 Xcode 4.5 中仍然是一个问题。作为解决方法,您似乎可以强制构建对 bundle 进行签名。

添加以下内容作为 bundle 的最终“运行脚本”构建阶段为我修复了它:

codesign -fs "iPhone Developer"${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}

关于iphone - iOS 在没有附加 Xcode 的情况下在启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11053625/

相关文章:

iphone - 将位图表示从一个 View 复制到另一个 View 的简单或有效的方法?

iphone - 后台基于时间的 GPS 定位(iphone)

php - 如何禁用 PHP 中的通知输出?

ios - AVCaptureSession 运行时崩溃。 fatal error : unexpectedly found nil while unwrapping an Optional value (lldb)

objective-c - 在用相同类型的另一个实例替换目标对象的实例后,如何保持 Cocoa 绑定(bind)正常工作?

debugging - : "JDI Event Dispatch" java. lang.NullPointerException 期间发生内部错误

ios - 自动续订的应用内购买订阅如何运作?

javascript - iOS UI自动化脚本: What's the correct predicate to reference the keyboard?

iphone - 蓝牙管理器 : Don't get any "BluetoothDeviceDiscoveredNotification"

ios - 翻转动画中途更改 UIImageView 图像