我们的应用程序使用外部库扫描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
有谁知道造成这个问题的原因是什么?
答案 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];
让每个人都努力!