Thank you for this report, David. This is an obvious defect that should be easy to fix.
- Daniel
Hi David,
I'm happy to report that this issue has been taken care of. The ARKit implementation will no longer crash on devices that do not meet the requirements for running it. Instead, it will properly fall back to the Wikitude instant tracking implementation.
- Daniel
Just confirmed the fix in developer preview 2. Thanks Daniel!
David Hakim
Not sure if this is the best place to post beta bug reports but I'm seeing a crash on an iPad Mini Gen 4 running iOS 10.3.3 when trying to load an instant tracking experience (configured to allow for ARKit use) on the new beta. In the debugger I see Wikitude outputting this warning:
ARKit platform service could not be allocated due to iOS version being < 11.0. This is an implementation error. This code should not have been reached with an insufficient version.
The stack trace is:
thread #2, queue = 'com.wikitude.sdk.bridge_queue', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x0000000101d336e0 WikitudeSDK`wikitude::sdk_foundation::impl::ArKitCoreService::doInitialized() + 84
frame #1: 0x0000000101d40254 WikitudeSDK`wikitude::sdk_foundation::impl::Service::didInit() + 76
frame #2: 0x0000000101d552a8 WikitudeSDK`wikitude::sdk_foundation::impl::ServiceManager::registerService(wikitude::sdk_foundation::impl::Service*) + 64
frame #3: 0x0000000101d55224 WikitudeSDK`wikitude::sdk_foundation::impl::ServiceManager::registerService(wikitude::sdk_foundation::impl::ServiceIdentifier const&) + 112
frame #4: 0x0000000101f5a1a0 WikitudeSDK`wikitude::sdk_core::impl::InstantTrackerInterface::createInstantTracker(wikitude::external::Json::Value const&) + 684
frame #5: 0x0000000101f5a73c WikitudeSDK`wikitude::sdk_foundation::impl::Wrap<void (wikitude::sdk_core::impl::InstantTrackerInterface::*)(wikitude::external::Json::Value const&)>::call(wikitude::sdk_core::impl::InstantTrackerInterface&, void (wikitude::sdk_core::impl::InstantTrackerInterface::*)(wikitude::external::Json::Value const&), wikitude::external::Json::Value&) + 48
frame #6: 0x0000000101fe0ef4 WikitudeSDK`wikitude::sdk_core::impl::InterfaceReceptionist::executeInterfaceMethodCall(wikitude::external::Json::Value) + 176
frame #7: 0x0000000101fe0d58 WikitudeSDK`wikitude::sdk_core::impl::InterfaceReceptionist::processInterfaceRequest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 396
frame #8: 0x00000001019249c4 WikitudeSDK`__47-[WTBridgeLane forwardInterfaceRequest:ofType:]_block_invoke + 336
frame #9: 0x00000001018a1a50 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #10: 0x00000001018a1a10 libdispatch.dylib`_dispatch_client_callout + 16
frame #11: 0x00000001018af2e8 libdispatch.dylib`_dispatch_queue_serial_drain + 1140
frame #12: 0x00000001018a5634 libdispatch.dylib`_dispatch_queue_invoke + 852
frame #13: 0x00000001018b1630 libdispatch.dylib`_dispatch_root_queue_drain + 552
frame #14: 0x00000001018b139c libdispatch.dylib`_dispatch_worker_thread3 + 140
frame #15: 0x000000018b667100 libsystem_pthread.dylib`_pthread_wqthread + 1096
frame #16: 0x000000018b666cac libsystem_pthread.dylib`start_wqthread + 4
The full name for the beta I'm using is
WikitudeSDK_iOS_7-1-0_2017-12-13_14-43-01
The same experience runs fine (using ARKit) on an iOS 11.1.1 iPhone 7