Structure Unity AR Application crash.


#1

Hello everyone,

I am currently using Structure sensor with Unity3D 2017.2.0f3; after building the example scene “BallPhysics” and building it on Xcode. When I run the application it crashes and after looking for it’s cause I found the following error in the log part of Xcode:

“Terminating app due to uncaught exception ‘STSensorController’, reason: ‘Cannot use hardware registration with newer (2017 onward) Apple Devices.’”

Does anyone encounter this issue ? if yes, what’s the solution ?

Thank you in advance.


#2

Can you let us know which iOS device you are trying to build to?


#3

I build on iPad Pro 10.5” with iOS 12.0 beta.


#4

I am unsure if our Structure Unity Projects from Structure SDK 0.8 will work with iOS 12 yet.

Could you try to use the Unity Sample on a version of iOS that is supported?


#5

what is the latest version of iOS the structure SDK 0.8 supports ?


#6

We have tested the Structure SDK with iOS 11, specifically iOS 11.3.

You can find out more information about the Structure SDK release of 0.8 here: Announcing Structure SDK 0.8: Improved Trackers and Turntable Support


#7

Thank you for your indications, I will test this and give you my feedback.


#8

I have tested the unity build example “BallPhysics” on the iPad 10.5" with iOS 11.4.1 Because it was the maximum that I could downgrade due to the Apple Signing Status constrain. The same Xcode error log came back: It’s concerning the line 33 of the main.mm file generated by unity build that is the following.

  UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String: AppControllerClassName]);

and the error is this :

2018-07-16 12:51:01.217734+0200 StructureSDKAR[415:25609] *** Terminating app due to uncaught exception ‘STSensorController’, reason: ‘Cannot use hardware registration with newer (2017 onward) Apple Devices.’
*** First throw call stack:
(0x1854aad8c 0x1846645ec 0x105483454 0x10548a790 0x10548ad2c 0x104bec544 0x104bec3bc 0x104bebc40 0x104bef67c 0x104899618 0x104bc96a8 0x105473030 0x104ea2778 0x104ea92c0 0x104eae230 0x104eae43c 0x104ead65c 0x104d2abdc 0x104ddc834 0x104c2f890 0x104880960 0x1080cc5f0 0x18951cf4c 0x1895d22dc 0x185438b20 0x185453ae8 0x185453230 0x185450c80 0x185370da8 0x187356020 0x18f390758 0x104879810 0x184e01fc0)
libc++abi.dylib: terminating with uncaught exception of type NSException


#9

I was able to discover this issue is from the Unity Project’s still using a deprecated version of STStreamConfig. STSteam config is passed into,

-(BOOL)startStreamingWithOptions:(NSDictionary*)userOptions error:(NSError **)error

If, when looking at the Xcode Project create by Unity, you see STStreamConfigRegisteredDepth320x240 or something similar, you should change that bit of code to STStreamConfigDepth320x240.


#10

I have changed the bit of code you indicated me and the AR application stoped crashing but the issue that I have now is that the tracking does not seems to work. More precisely, the UBT example (“San Fransisco Apartment”) is only tracking my orientation and not my translation and the AR examples (“BallPhysics” and “Simple”) print a “Tracking Lost” Message when I push the scan Button.

Finally when I tried to re-scan multiple times I had this exception in my Xcode followed by the crash of the application:

2018-07-18 11:05:26.785198+0200 StructureSDKAR[901:198099] *** Terminating app due to uncaught exception ‘STInvalidInitialPoseException’, reason: ‘The initial pose is incorrect and has a NAN determinant.’
*** First throw call stack:
(0x1854aad8c 0x1846645ec 0x103913454 0x10397938c 0x10307e150 0x10307f7b4 0x102d29760 0x102d272bc 0x102e3e6e4 0x102fff50c 0x102e7068c 0x102e70218 0x102e6fb6c 0x1030596a8 0x103903030 0x103332778 0x1033392c0 0x10333da28 0x1031bc114 0x10326c9c8 0x1030bf890 0x102d10960 0x10307c8e4 0x10307c840 0x10391ddec 0x103a69608 0x103a9be90 0x184d9caa0 0x184d9ca60 0x184da965c 0x185453070 0x185450bc8 0x185370da8 0x187356020 0x18f390758 0x102d09810 0x184e01fc0)
libc++abi.dylib: terminating with uncaught exception of type NSException

I hope that this problem can be solved, and thank you in advance for your help.