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

发布于 2024-12-29 00:19:01 字数 7350 浏览 0 评论 0原文

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

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

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

            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 无法加载。我一直以为,它会回落到英语,但它(不再)了。

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

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

I'm starting to get desperate and I need advice. Here's the situation:

  • My recently updated App has started to crash directly on startup on some devices.
  • It did not before the update.
  • I cannot replicate this, although I have exactly the same device and software version.
  • It does not matter if it is a fresh uninstall/install or update, it crashes anyways.

The crash logs do not tell me anything useful. Here is one, perhaps someone smarter than me knows what happened:

            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

As the only reference to my code in the report is to main.m, here it is:

            #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;
            }

So here is my question: How can I determine the cause? What can I do to get more information on this crash (I can send versions to someone who experiences this crash)? What can I do to prevent it?

Any advice is much appreciated and thank you in advance!

UPDATE:

I found the solution and it was a silly mistake on my part.

The MainWindow.xib could not load when there was no localization for the device's language. I always thought, it would fall back English, but it did not (anymore).

In previous versions, this was never an issue. I don't know why this behavior changed.

Thanks for all the replies, you helped me search in the right direction!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三生路 2025-01-05 00:19:01

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

在 plist 文件中,有一个条目

NSMainNibFile -> MyMainWindow

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

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

The application is trying to read the main nib file, as specified in your app's Info.plist file.

In the plist file there is an entry like

NSMainNibFile -> MyMainWindow

which UIApplicationMain uses to load your initial view controller from. This file seems to be damaged. A common error is to use a custom class for a contained object and then change/remove that class later without changing the nib file.

To further understand the error it would be very helpful to know the description of the exception that's being raised. You'll find that in the console log.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文