iPhone 应用程序在某些设备(不是全部)上启动时崩溃

标签 iphone ios crash report startup

我开始感到绝望,我需要建议。情况是这样的:

  • 我最近更新的应用程序开始在某些设备上启动时直接崩溃。
  • 更新前没有。
  • 虽然我有完全相同的设备和软件版本,但我无法复制它。
  • 不管是全新的卸载/安装还是更新,它都会崩溃。

崩溃日志没有告诉我任何有用的信息。这是一个,也许比我更聪明的人知道发生了什么:

            Incident Identifier: 52C11BF9-A202-4ECC-B227-4A57899CB2E1
            CrashReporter Key:   3129de7e18ddccceb41bf4d0ad0465bc2e66df29
            Hardware Model:      iPhone3,1
            Process:         GT-BetApp [3364]
            Path:            /var/mobile/Applications/5E9BA5D7-4337-44CD-BDAB-CE653680EEB3/GT-BetApp.app/GT-BetApp
            Identifier:      GT-BetApp
            Version:         ??? (???)
            Code Type:       ARM (Native)
            Parent Process:  launchd [1]

            Date/Time:       2012-01-24 18:59:34.573 +0100
            OS Version:      iPhone OS 5.0.1 (9A405)
            Report Version:  104

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

            Last Exception Backtrace:
            0   CoreFoundation                  0x344258bf __exceptionPreprocess + 163
            1   libobjc.A.dylib                 0x346751e5 objc_exception_throw + 33
            2   CoreFoundation                  0x344257b9 +[NSException raise:format:] + 1
            3   CoreFoundation                  0x344257db +[NSException raise:format:] + 35
            4   UIKit                           0x37a42747 -[UINib instantiateWithOwner:options:] + 1567
            5   UIKit                           0x37a43bb9 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 137
            6   UIKit                           0x3797ca45 -[UIApplication _loadMainNibFileNamed:bundle:] + 37
            7   UIKit                           0x37806227 -[UIApplication _loadMainInterfaceFile] + 223
            8   UIKit                           0x37800313 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 227
            9   UIKit                           0x377ce921 -[UIApplication handleEvent:withNewEvent:] + 1017
            10  UIKit                           0x377ce3bf -[UIApplication sendEvent:] + 55
            11  UIKit                           0x377cdd2d _UIApplicationHandleEvent + 5809
            12  GraphicsServices                0x30c00df3 PurpleEventCallback + 883
            13  CoreFoundation                  0x343f9553 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 39
            14  CoreFoundation                  0x343f94f5 __CFRunLoopDoSource1 + 141
            15  CoreFoundation                  0x343f8343 __CFRunLoopRun + 1371
            16  CoreFoundation                  0x3437b4dd CFRunLoopRunSpecific + 301
            17  CoreFoundation                  0x3437b3a5 CFRunLoopRunInMode + 105
            18  UIKit                           0x377ff457 -[UIApplication _run] + 551
            19  UIKit                           0x377fc743 UIApplicationMain + 1091
            20  GT-BetApp                       0x00002c79 main (main.m:15)
            21  GT-BetApp                       0x00002c44 0x1000 + 7236


            Thread 0 name:  Dispatch queue: com.apple.main-thread
            Thread 0 Crashed:
            0   libsystem_kernel.dylib          0x3634032c __pthread_kill + 8
            1   libsystem_c.dylib               0x33209f54 pthread_kill + 48
            2   libsystem_c.dylib               0x33202fe4 abort + 88
            3   libc++abi.dylib                 0x3384cf64 abort_message + 40
            4   libc++abi.dylib                 0x3384a346 _ZL17default_terminatev + 18
            5   libobjc.A.dylib                 0x346752dc _objc_terminate + 140
            6   libc++abi.dylib                 0x3384a3be _ZL19safe_handler_callerPFvvE + 70
            7   libc++abi.dylib                 0x3384a44a std::terminate() + 14
            8   libc++abi.dylib                 0x3384b81e __cxa_rethrow + 82
            9   libobjc.A.dylib                 0x3467522e objc_exception_rethrow + 6
            10  CoreFoundation                  0x3437b53e CFRunLoopRunSpecific + 398
            11  CoreFoundation                  0x3437b39e CFRunLoopRunInMode + 98
            12  UIKit                           0x377ff450 -[UIApplication _run] + 544
            13  UIKit                           0x377fc73c UIApplicationMain + 1084
            14  GT-BetApp                       0x00002c72 main (main.m:14)
            15  GT-BetApp                       0x00002c3c 0x1000 + 7228

            Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
            Thread 1:
            0   libsystem_kernel.dylib          0x363303b4 kevent + 24
            1   libdispatch.dylib               0x3705ae78 _dispatch_mgr_invoke + 708
            2   libdispatch.dylib               0x3705ab96 _dispatch_mgr_thread + 30

            Thread 2:
            0   libsystem_kernel.dylib          0x36340cd4 __workq_kernreturn + 8
            1   libsystem_c.dylib               0x331c630a _pthread_wqthread + 610
            2   libsystem_c.dylib               0x331c609c start_wqthread + 0

            Thread 3:
            0   libsystem_kernel.dylib          0x36340cd4 __workq_kernreturn + 8
            1   libsystem_c.dylib               0x331c630a _pthread_wqthread + 610
            2   libsystem_c.dylib               0x331c609c start_wqthread + 0

            Thread 4 name:  WebThread
            Thread 4:
            0   libsystem_kernel.dylib          0x36330010 mach_msg_trap + 20
            1   libsystem_kernel.dylib          0x36330206 mach_msg + 50
            2   CoreFoundation                  0x343f941c __CFRunLoopServiceMachPort + 120
            3   CoreFoundation                  0x343f8154 __CFRunLoopRun + 876
            4   CoreFoundation                  0x3437b4d6 CFRunLoopRunSpecific + 294
            5   CoreFoundation                  0x3437b39e CFRunLoopRunInMode + 98
            6   WebCore                         0x3684f128 _ZL12RunWebThreadPv + 396
            7   libsystem_c.dylib               0x331cbc16 _pthread_start + 314
            8   libsystem_c.dylib               0x331cbad0 thread_start + 0

            Thread 0 crashed with ARM Thread State:
                r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x00000000
                r4: 0x00000006    r5: 0x3eaf3ce8      r6: 0x00000002      r7: 0x2fdffa60
                r8: 0x3fd97dec    r9: 0x3384da4a     r10: 0x0015d9e0     r11: 0x00156150
                ip: 0x00000148    sp: 0x2fdffa54      lr: 0x33209f5b      pc: 0x3634032c
              cpsr: 0x00000010

由于报告中对我的代码的唯一引用是 main.m,这里是:

            #import <UIKit/UIKit.h>

            int main(int argc, char *argv[])
            {
                NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
                int retVal = UIApplicationMain(argc, argv, nil, nil);
                [pool release];
                return retVal;
            }

所以这是我的问题:如何确定原因?我该怎么做才能获得有关此崩溃的更多信息(我可以将版本发送给遇到此崩溃的人)?我能做些什么来防止它?

非常感谢任何建议,并在此先感谢您!

更新:

我找到了解决方案,但这是我犯的一个愚蠢的错误。

当设备语言没有本地化时,无法加载 MainWindow.xib。我一直以为,它会退回到英语,但它没有(不再)。

在以前的版本中,这从来都不是问题。我不知道为什么这种行为会改变。

感谢所有回复,您帮助我找到了正确的方向!

最佳答案

应用程序正在尝试读取主 nib 文件,如您应用程序的 Info.plist 文件中所指定。

在plist文件中有一个类似的条目

NSMainNibFile -> MyMainWindow

UIApplicationMain 用于从中加载初始 View Controller 。该文件似乎已损坏。一个常见的错误是对包含的对象使用自定义类,然后在不更改 nib 文件的情况下更改/删除该类。

要进一步了解错误,了解所引发的异常的描述会很有帮助。您会在控制台日志中找到它。

关于iPhone 应用程序在某些设备(不是全部)上启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000057/

相关文章:

iphone - 更新到 Xcode 4.6 后出现超过 1000 个编译器错误

ios - 添加人员时无法退出 ABUnknownPersonViewController

ios - 如何从 Swift3 iOS 中的对象数组中查找唯一值

ios - 使用预签名的 url 将图像上传到 s3 总是返回 403 错误

crash - 在PC = 0x0000000000090000处使用SIGSEGV(0xb)导致JVM崩溃

iphone - 向场景添加层不起作用

iphone - 应用程序在后台崩溃,而蓝牙连接长时间丢失

ios - 崩溃日志 - 需要帮助才能找到崩溃

java - 当程序错误退出时如何在终端中重新启动程序?

iphone - 这个巨大的 if 语句感觉很不稳定......你会如何在 Objective C 中做到这一点