升级到ios 9.3后调用本机代码时应用程序崩溃

时间:2016-03-25 12:20:39

标签: ios codenameone

我们的应用程序使用外部库扫描pdf417条形码。应用程序在iOS 9.3升级之前正常运行。在版本9.3上,它在此行上执行本机代码时崩溃:

[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:cameraViewController animated:YES completion:nil];

这是xcode控制台的输出:

Mar 25 12:47:41 iPhone-od-Ratko MobileBankRetail[616] <Warning>: ---- before [UIApplication sharedApplication].keyWindow.rootViewController presentViewController:cameraViewController animated:YES completion:nil
Mar 25 12:47:42 iPhone-od-Ratko MobileBankRetail[616] <Warning>: This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release.
    Stack:(
        0   CoreFoundation                      0x20ef39a3 <redacted> + 150
        1   libobjc.A.dylib                     0x2068ee17 objc_exception_throw + 38
        2   CoreFoundation                      0x20ef38d1 <redacted> + 0
        3   Foundation                          0x217e53c7 <redacted> + 170
        4   Foundation                          0x21689e4f <redacted> + 38
        5   UIKit                               0x255662ad <redacted> + 52
        6   UIKit                               0x25566c93 <redacted> + 222
        7   UIKit                               0x255838c5 <redacted> + 96
        8   UIKit                               0x25ca32ef <redacted> + 322
        9   UIKit                               0x25471e41 <redacted> + 748
        10  UIKit                               0x25599df1 <redacted> + 936
        11  UIKit                               0x25618b49 <redacted> + 92
        12  UIKit                               0x254f2c67 <redacted> + 302
        13  UIKit                               0x25607337 <redacted> + 130
        14  UIKit                               0x25497a19 <redacted> + 548
        15  UIKit                               0x255e6e99 <redacted> + 68
        16  UIKit                               0x2551f1e9 <redacted> + 536
        17  UIKit                               0x25466d47 <redacted> + 490
        18  UIKit                               0x254d85c9 <redacted> + 192
        19  UIKit                               0x255622bb <redacted> + 70
        20  UIKit                               0x257ce063 <redacted> + 1490
        21  UIKit                               0x257cf82b <redacted> + 4346
        22  UIKit                               0x257d1bc5 <redacted> + 336
        23  UIKit                               0x257d1e31 <redacted> + 416
        24  UIKit                               0x25558ce9 <redacted> + 144
        25  MobileBankRetail                    0x0055b061 -[hr_kaba_bcscanner_NativeScannerImpl scanBarCode] + 448
        26  MobileBankRetail                    0x0064d9a9 hr_kaba_bcscanner_NativeScannerImplCodenameOne_scanBarCode__ + 32
        27  MobileBankRetail                    0x0055b82f hr_kaba_bcscanner_NativeScannerStub_scanBarCode__ + 90
        28  MobileBankRetail                    0x0055aa15 hr_kaba_bcscanner_BCScanner_scanBarCode___com_codename1_codescan_ScanResult + 844
        29  MobileBankRetail                    0x006bf1e7 userclasses_StateMachine_scan2DBarCode__ + 662
        30  MobileBankRetail                    0x006bef29 userclasses_StateMachine_onPlacanjaMenu_MultiButtonHUB2DBarCodeAction___com_codename1_ui_Component_com_codename1_ui_events_ActionEvent + 280
        31  MobileBankRetail                    0x00551597 generated_StateMachineBase_handleComponentAction___com_codename1_ui_Component_com_codename1_ui_events_ActionEvent + 68130
        32  MobileBankRetail                    0x004bcfed com_codename1_ui_util_UIBuilder_FormListener_actionPerformed___com_codename1_ui_events_ActionEvent + 1300
        33  MobileBankRetail                    0x0048e4a7 com_codename1_ui_util_EventDispatcher_fireActionEvent___com_codename1_ui_events_ActionEvent + 1154
        34  MobileBankRetail                    0x001d4b85 com_codename1_ui_Button_fireActionEvent___int_int + 916
        35  MobileBankRetail                    0x001d4efb com_codename1_ui_Button_released___int_int + 222
        36  MobileBankRetail                    0x001d58f1 com_codename1_ui_Button_pointerReleased___int_int + 496
        37  MobileBankRetail                    0x0027bd07 com_codename1_ui_Form_pointerReleased___int_int + 6126
        38  MobileBankRetail                    0x001ff507 com_codename1_ui_Component_pointerReleased___int_1ARRAY_int_1ARRAY + 386
        39  MobileBankRetail                    0x00248a51 com_codename1_ui_Display_handleEvent___int_R_int + 12052
        40  MobileBankRetail                    0x00240f21 com_codename1_ui_Display_edtLoopImpl__ + 1492
        41  MobileBankRetail                    0x002449fb com_codename1_ui_Display_mainEDTLoop__ + 5110
        42  MobileBankRetail                    0x00400603 com_codename1_ui_RunnableWrapper_run__ + 3270
        43  MobileBankRetail                    0x0010e4ef com_codename1_impl_CodenameOneThread_run__ + 282
        44  MobileBankRetail                    0x005da449 java_lang_Thread_runImpl___long + 556
        45  MobileBankRetail                    0x0064f469 threadRunner + 40
        46  libsystem_pthread.dylib             0x20c2785b <redacted> + 138
        47  libsystem_pthread.dylib             0x20c277cf _pthread_start + 110
        48  libsystem_pthread.dylib             0x20c25724 thread_start + 8
    )
Mar 25 12:47:42 iPhone-od-Ratko MobileBankRetail[616] <Warning>: This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release.
    Stack:(
        0   CoreFoundation                      0x20ef39a3 <redacted> + 150
        1   libobjc.A.dylib                     0x2068ee17 objc_exception_throw + 38
        2   CoreFoundation                      0x20ef38d1 <redacted> + 0
        3   Foundation                          0x217e53c7 <redacted> + 170
        4   Foundation                          0x217e5253 <redacted> + 38
        5   Foundation                          0x2168e30b <redacted> + 42
        6   Foundation                          0x21689f93 <redacted> + 362
        7   UIKit                               0x255662ad <redacted> + 52
        8   UIKit                               0x25566c93 <redacted> + 222
        9   UIKit                               0x255838c5 <redacted> + 96
        10  UIKit                               0x25ca32ef <redacted> + 322
        11  UIKit                               0x25471e41 <redacted> + 748
        12  UIKit                               0x25599df1 <redacted> + 936
        13  UIKit                               0x25618b49 <redacted> + 92
        14  UIKit                               0x254f2c67 <redacted> + 302
        15  UIKit                               0x25607337 <redacted> + 130
        16  UIKit                               0x25497a19 <redacted> + 548
        17  UIKit                               0x255e6e99 <redacted> + 68
        18  UIKit                               0x2551f1e9 <redacted> + 536
        19  UIKit                               0x25466d47 <redacted> + 490
        20  UIKit                               0x254d85c9 <redacted> + 192
        21  UIKit                               0x255622bb <redacted> + 70
        22  UIKit                               0x257ce063 <redacted> + 1490
        23  UIKit                               0x257cf82b <redacted> + 4346
        24  UIKit                               0x257d1bc5 <redacted> + 336
        25  UIKit                               0x257d1e31 <redacted> + 416
        26  UIKit                               0x25558ce9 <redacted> + 144
        27  MobileBankRetail                    0x0055b061 -[hr_kaba_bcscanner_NativeScannerImpl scanBarCode] + 448
        28  MobileBankRetail                    0x0064d9a9 hr_kaba_bcscanner_NativeScannerImplCodenameOne_scanBarCode__ + 32
        29  MobileBankRetail                    0x0055b82f hr_kaba_bcscanner_NativeScannerStub_scanBarCode__ + 90
        30  MobileBankRetail                    0x0055aa15 hr_kaba_bcscanner_BCScanner_scanBarCode___com_codename1_codescan_ScanResult + 844
        31  MobileBankRetail                    0x006bf1e7 userclasses_StateMachine_scan2DBarCode__ + 662
        32  MobileBankRetail                    0x006bef29 userclasses_StateMachine_onPlacanjaMenu_MultiButtonHUB2DBarCodeAction___com_codename1_ui_Component_com_codename1_ui_events_ActionEvent + 280
        33  MobileBankRetail                    0x00551597 generated_StateMachineBase_handleComponentAction___com_codename1_ui_Component_com_codename1_ui_events_ActionEvent + 68130
        34  MobileBankRetail                    0x004bcfed com_codename1_ui_util_UIBuilder_FormListener_actionPerformed___com_codename1_ui_events_ActionEvent + 1300
        35  MobileBankRetail                    0x0048e4a7 com_codename1_ui_util_EventDispatcher_fireActionEvent___com_codename1_ui_events_ActionEvent + 1154
        36  MobileBankRetail                    0x001d4b85 com_codename1_ui_Button_fireActionEvent___int_int + 916
        37  MobileBankRetail                    0x001d4efb com_codename1_ui_Button_released___int_int + 222
        38  MobileBankRetail                    0x001d58f1 com_codename1_ui_Button_pointerReleased___int_int + 496
        39  MobileBankRetail                    0x0027bd07 com_codename1_ui_Form_pointerReleased___int_int + 6126
        40  MobileBankRetail                    0x001ff507 com_codename1_ui_Component_pointerReleased___int_1ARRAY_int_1ARRAY + 386
        41  MobileBankRetail                    0x00248a51 com_codename1_ui_Display_handleEvent___int_R_int + 12052
        42  MobileBankRetail                    0x00240f21 com_codename1_ui_Display_edtLoopImpl__ + 1492
        43  MobileBankRetail                    0x002449fb com_codename1_ui_Display_mainEDTLoop__ + 5110
        44  MobileBankRetail                    0x00400603 com_codename1_ui_RunnableWrapper_run__ + 3270
        45  MobileBankRetail                    0x0010e4ef com_codename1_impl_CodenameOneThread_run__ + 282
        46  MobileBankRetail                    0x005da449 java_lang_Thread_runImpl___long + 556
        47  MobileBankRetail                    0x0064f469 threadRunner + 40
        48  libsystem_pthread.dylib             0x20c2785b <redacted> + 138
        49  libsystem_pthread.dylib             0x20c277cf _pthread_start + 110
        50  libsystem_pthread.dylib             0x20c25724 thread_start + 8
    )
Mar 25 12:47:42 iPhone-od-Ratko MobileBankRetail[616] <Warning>: *** Assertion failure in -[UIApplication _cachedSystemAnimationFenceCreatingIfNecessary:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.60.7/UIApplication.m:1774
Mar 25 12:47:42 iPhone-od-Ratko MobileBankRetail[616] <Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'accessing _cachedSystemAnimationFence requires the main thread'
    *** First throw call stack:
    (0x20ef398b 0x2068ee17 0x20ef3861 0x216d7509 0x256fb2a9 0x2574fb0f 0x2551f297 0x25466d47 0x254d85c9 0x255622bb 0x257ce063 0x257cf82b 0x257d1bc5 0x257d1e31 0x25558ce9 0x55b061 0x64d9a9 0x55b82f 0x55aa15 0x6bf1e7 0x6bef29 0x551597 0x4bcfed 0x48e4a7 0x1d4b85 0x1d4efb 0x1d58f1 0x27bd07 0x1ff507 0x248a51 0x240f21 0x2449fb 0x400603 0x10e4ef 0x5da449 0x64f469 0x20c2785b 0x20c277cf 0x20c25724)
Mar 25 12:47:42 iPhone-od-Ratko SpringBoard[166] <Warning>: HW kbd: Failed to set (null) as keyboard focus
Mar 25 12:47:42 iPhone-od-Ratko com.apple.xpc.launchd[1] (UIKitApplication:hr.kaba.mbankretail[0xe600][616]) <Notice>: Service exited due to signal: Abort trap: 6
Mar 25 12:47:42 iPhone-od-Ratko mediaserverd[43] <Notice>: '' hr.kaba.mbankretail(pid = 616) setting DiscoveryMode = DiscoveryMode_None, currentDiscoveryMode = DiscoveryMode_None
Mar 25 12:47:42 iPhone-od-Ratko SpringBoard[166] <Warning>: Application 'UIKitApplication:hr.kaba.mbankretail[0xe600]' crashed.
Mar 25 12:47:42 iPhone-od-Ratko UserEventAgent[23] <Warning>: 1112896938070: id=hr.kaba.mbankretail pid=616, state=0
Mar 25 12:47:43 iPhone-od-Ratko ReportCrash[618] <Error>: assertion failed: 13E233: libsystem_trace.dylib + 15927 [2171E90D-32AA-3F60-9692-C2F8E0D4B1A0]: 0x0
Mar 25 12:47:43 iPhone-od-Ratko Unknown[618] <Error>: 
Mar 25 12:47:43 iPhone-od-Ratko ReportCrash[618] <Warning>: os_activity_diagnostic_for_pid() failed!
Mar 25 12:47:43 iPhone-od-Ratko ReportCrash[618] <Notice>: Formulating report for corpse[616] MobileBankRetail
Mar 25 12:47:43 iPhone-od-Ratko ReportCrash[618] <Warning>: Saved type '109(109_MobileBankRetail)' report (5 of max 25) at /var/mobile/Library/Logs/CrashReporter/MobileBankRetail-2016-03-25-124743.ips
Mar 25 12:47:47 iPhone-od-Ratko kernel[0] <Notice>: AppleH4CamIn::setPowerStateGated: 0
Mar 25 12:47:47 iPhone-od-Ratko kernel[0] <Notice>: AppleH4CamIn::power_off_hardware
Mar 25 12:49:03 iPhone-od-Ratko com.apple.CDScheduler[23] <Error>: Failed to read UserNextSleepPeriod from contextstore
Mar 25 12:49:03 iPhone-od-Ratko com.apple.CDScheduler[23] <Error>: Failed to get user inactivity forecast
Mar 25 12:49:03 iPhone-od-Ratko com.apple.CDScheduler[23] <Error>: AutoSu doesn't have any prediction yet
Mar 25 12:49:03 iPhone-od-Ratko com.apple.CDScheduler[23] <Error>: Failed to get device restart forecast
Mar 25 12:49:03 iPhone-od-Ratko geocorrectiond[619] <Warning>: /BuildRoot/Library/Caches/com.apple.xbs/Sources/Maps/Maps-1906.50/iOS/geocorrectiond/MCAddressCorrector.m:79 0x14e1a290 _primaryAccount = DA48B5E1-3DB1-48DD-BEBA-739BAAC6BB6F personID = 1717754467 mapsToken = AQAAAABW9GfKzmxjlhvjb0VGYzq7LGFn161Mqyw~
Mar 25 12:49:03 iPhone-od-Ratko geocorrectiond[619] <Warning>: /BuildRoot/Library/Caches/com.apple.xbs/Sources/Maps/Maps-1906.50/iOS/geocorrectiond/MCAddressCorrector.m:120 0x14e1a290 startProcessing - failed. Too early. LastRunTime 480545405.295504 CurrentTime 480599343.342015 shouldRunAfter 481150205.295504
Mar 25 12:49:48 iPhone-od-Ratko syslogd[22] <Notice>: ASL Sender Statistics

有谁知道造成这个问题的原因是什么?

2 个答案:

答案 0 :(得分:2)

如错误所示:您正在从后台线程修改autolayout引擎。您应该使用主线程/队列:

dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:cameraViewController animated:YES completion:nil];
}); 

答案 1 :(得分:0)

问题的第一部分是使用主线程解决的Tapani和Larme说的。

dispatch_async(dispatch_get_main_queue(), ^{
  //some code here..
}); 

问题的第二部分(在codenameone服务器上构建失败)通过使用

解决
[[CodenameOne_GLViewController instance] presentViewController:cameraViewController animated:YES completion:nil];

而不是

[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:cameraViewController animated:YES completion:nil];

让每个人都努力!