Hi Laurent,
The SDK is actually not crashing. You just hit a 'breakpoint' from the `Main Thread Checker`. You can turn these checks in the `Diagnostic` tab of your app scheme off and the app will continue running without problems.
But you can also download a pre-release SDK package here which updated the affected lines so that the `Main Thread Checker` is happy ;)
Best regards,
Andreas
Laurent Latour
Dear,
We've just encountered a bug on a iOS device running latest iOS 11 Beta in our app based on a "Custom Camera" sample.
We can reproduce the bug with the sample "Custom Camera" that comes within the SDK, by building it on XCode 9 beta, and launch it on a device running latest iOS 11 Beta in a Debug scheme (it works on Release).
Just after the calling [self.architectView start:^(WTArchitectStartupConfiguration *configuration) completion:^(BOOL isRunning, NSError *error) {}];] (with error with a nil value in completion), the app crashes on Thread "com.wikitude.sdk.render_queue", before displaying any images with the following log :
2017-08-29 14:52:27.361168+0200 SDKExamples[924:258537] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-08-29 14:52:27.369287+0200 SDKExamples[924:258537] [MC] Reading from public effective user settings.
2017-08-29 14:52:27.816956+0200 SDKExamples[924:258537] [MC] Lazy loading NSBundle MobileCoreServices.framework
2017-08-29 14:52:27.819928+0200 SDKExamples[924:258537] [MC] Loaded MobileCoreServices.framework
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation]
PID: 924, TID: 259236, Thread name: (none), Queue name: com.apple.avfoundation.videodataoutput.bufferqueue, QoS: 0
Backtrace:
4 WikitudeSDK 0x0000000101cc6328 _ZN8wikitude7ios_sdk4impl18iOSCameraComponent30getCameraSurfaceScalingFactorsENS_3sdk4SizeIiEES5_ + 80
5 WikitudeSDK 0x0000000101a5bdec _ZN8wikitude14sdk_foundation4impl24CameraFrameProviderProxy31newCameraFrameAvailableInternalElNSt3__110shared_ptrIhEE + 264
6 WikitudeSDK 0x0000000101a86be4 _ZNK8wikitude14sdk_foundation4impl13PluginManager21getRenderingComponentEv + 900
7 WikitudeSDK 0x0000000101a5c238 _ZN8wikitude14sdk_foundation4impl24CameraFrameProviderProxy31newCameraFrameAvailableInternalElNSt3__110shared_ptrIhEE + 1364
8 WikitudeSDK 0x0000000101a5c734 _ZN8wikitude3sdk4impl11InputPlugin19notifyNewInputFrameElNSt3__110shared_ptrIhEEb + 164
9 SDKExamples 0x0000000100ab6dd4 _ZN19YUVFrameInputPlugin24notifyNewImageBufferDataENSt3__110shared_ptrIhEE + 160
10 SDKExamples 0x0000000100ac6ab4 -[WTYUVInputCamera captureOutput:didOutputSampleBuffer:fromConnection:] + 440
11 AVFoundation 0x000000018a0cff54 <redacted> + 344
12 AVFoundation 0x000000018a0cfd6c <redacted> + 100
13 CoreMedia 0x00000001879b5598 <redacted> + 260
14 CoreMedia 0x00000001879d1b70 <redacted> + 224
15 libdispatch.dylib 0x00000001010c145c _dispatch_client_callout + 16
16 libdispatch.dylib 0x00000001010ce800 _dispatch_continuation_pop + 592
17 libdispatch.dylib 0x00000001010c324c _dispatch_source_invoke + 1592
18 libdispatch.dylib 0x00000001010cff30 _dispatch_queue_serial_drain + 212
19 libdispatch.dylib 0x00000001010c49a4 _dispatch_queue_invoke + 332
20 libdispatch.dylib 0x00000001010cff30 _dispatch_queue_serial_drain + 212
21 libdispatch.dylib 0x00000001010c49a4 _dispatch_queue_invoke + 332
22 libdispatch.dylib 0x00000001010d1104 _dispatch_root_queue_drain_deferred_wlh + 424
23 libdispatch.dylib 0x00000001010d8100 _dispatch_workloop_worker_thread + 652
24 libsystem_pthread.dylib 0x0000000184496fe0 _pthread_wqthread + 932
25 libsystem_pthread.dylib 0x0000000184496c30 start_wqthread + 4
2017-08-29 14:53:32.696411+0200 SDKExamples[924:259236] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation]
PID: 924, TID: 259236, Thread name: (none), Queue name: com.apple.avfoundation.videodataoutput.bufferqueue, QoS: 0
Backtrace:
4 WikitudeSDK 0x0000000101cc6328 _ZN8wikitude7ios_sdk4impl18iOSCameraComponent30getCameraSurfaceScalingFactorsENS_3sdk4SizeIiEES5_ + 80
5 WikitudeSDK 0x0000000101a5bdec _ZN8wikitude14sdk_foundation4impl24CameraFrameProviderProxy31newCameraFrameAvailableInternalElNSt3__110shared_ptrIhEE + 264
6 WikitudeSDK 0x0000000101a86be4 _ZNK8wikitude14sdk_foundation4impl13PluginManager21getRenderingComponentEv + 900
7 WikitudeSDK 0x0000000101a5c238 _ZN8wikitude14sdk_foundation4impl24CameraFrameProviderProxy31newCameraFrameAvailableInternalElNSt3__110shared_ptrIhEE + 1364
8 WikitudeSDK 0x0000000101a5c734 _ZN8wikitude3sdk4impl11InputPlugin19notifyNewInputFrameElNSt3__110shared_ptrIhEEb + 164
9 SDKExamples 0x0000000100ab6dd4 _ZN19YUVFrameInputPlugin24notifyNewImageBufferDataENSt3__110shared_ptrIhEE + 160
10 SDKExamples 0x0000000100ac6ab4 -[WTYUVInputCamera captureOutput:didOutputSampleBuffer:fromConnection:] + 440
11 AVFoundation 0x000000018a0cff54 <redacted> + 344
12 AVFoundation 0x000000018a0cfd6c <redacted> + 100
13 CoreMedia 0x00000001879b5598 <redacted> + 260
14 CoreMedia 0x00000001879d1b70 <redacted> + 224
15 libdispatch.dylib 0x00000001010c145c _dispatch_client_callout + 16
16 libdispatch.dylib 0x00000001010ce800 _dispatch_continuation_pop + 592
17 libdispatch.dylib 0x00000001010c324c _dispatch_source_invoke + 1592
18 libdispatch.dylib 0x00000001010cff30 _dispatch_queue_serial_drain + 212
19 libdispatch.dylib 0x00000001010c49a4 _dispatch_queue_invoke + 332
20 libdispatch.dylib 0x00000001010cff30 _dispatch_queue_serial_drain + 212
21 libdispatch.dylib 0x00000001010c49a4 _dispatch_queue_invoke + 332
22 libdispatch.dylib 0x00000001010d1104 _dispatch_root_queue_drain_deferred_wlh + 424
23 libdispatch.dylib 0x00000001010d8100 _dispatch_workloop_worker_thread + 652
24 libsystem_pthread.dylib 0x0000000184496fe0 _pthread_wqthread + 932
25 libsystem_pthread.dylib 0x0000000184496c30 start_wqthread + 4
The code that crashes comes from the private part of The API as far as I understand.
Thanks for your quick return, as the future version of iOS is likely to be public within a month.