Announcing Structure SDK (iOS) 0.8.1: Improved Trackers and Turntable Support



Thanks for this release.

It seems that the Room Capture sample app is not working on an iPad Pro 10.5" with iOS 11.3.1 installed.

Any idea why?


I’ll be taking a look into this as soon as I can.

Could you be a little more descriptive of the issues you are having with your 10.5-inch iPad Pro when you try to build the Room Capture on it?

Does it happen on other devices or just on your 10.5-inch iPad Pro? What about other versions of iOS?



Hi Anthony,

I only have 10.5-inch iPads at hand with this version right now to check.
When starting a scan, the green mesh is not displayed, and when pressing stop scan the app crashes.
In our own app, we noticed that the STColorFrame that is delivered with a synced depth frame from the SDK has a width/height of 0, even though its sample buffer is a valid image.



Thanks for the additional info! We, obviously, try to make sure that all of our sample applications can work on all of our supported devices, but sometimes things slips through the cracks.

I’ve made a note to our developers of this issue.



I think this is a bug in the 0.8 SDK since it happens for us as well in our own codebase.



Our developers will take a look at it, but it appears to be an issue with the sample code and not the SDK directly.

Once we do make a fix (along with others on our list), we will plan a new release of the SDK.


Thanks anthony.

Any updates on this issue?


We have made it a task to fix the issue in our next release.

Please let us know if you have any more questions!



thanks for the release! Does this version support OpenGLES3? When using the renderMesh function with OpenGLES3, my app crashes. When switching to OpenGLES2 everything works fine.
However, in the future, I would like to use the improved OpenGLES3.



Unfortunately, we currently only support OpenGLES2 in the Structure SDK 0.8

I have noted this feature request to our developers, however!

Structure Unity AR Application crash.




Im getting thecameraIntrinsicsMatrixDeliveryEnabled error in a unity3D (2017.3.1f1) IOS build,
lines 145-153 in contain this code

FourCharCode fourCharCode = CMFormatDescriptionGetMediaSubType(formatDesc);

    CMVideoFormatDescriptionRef videoFormatDesc = formatDesc;
    CMVideoDimensions formatDims = CMVideoFormatDescriptionGetDimensions(videoFormatDesc);
    if ( 2592 != formatDims.width )
    if ( 1936 != formatDims.height )

Im building to IOS 11, and I have this code in the"" that tires to turn it on but it does not

    if (@available(iOS 11_0, *))
        if (conn.isCameraIntrinsicMatrixDeliverySupported)
            conn.cameraIntrinsicMatrixDeliveryEnabled = YES;

I 'm currently stuck on this issue. Is there a project setting to enable this? Or a line of code that i need to set? or a post that explains a fix for this issue?


Can you tell me which version of Xcode you are using and what iOS device you are building to?


I’m building an xcode project from unity3d(2017.3.1f1)
Target Device: ipad Air (A1474)
xcode: 9.4.1 (9F2000)
This is the complete error dialog I get on xcode
Uncaught exception: AVCameraCalibration: We want to use AV Intrinsics, but we’re not getting them! Make sure that you have set conn.cameraIntrinsicsMatrixDeliveryEnabled = YES on the AVCaptureConnection object (before you commit the AVCaptureSession configuration).


Got some good news, I got it to build and work on our iPad Pro (a1670) :slight_smile:
It seems the old ipad Air are not compatible.
is there a way to disable that feature for the old iPad Air models?
Is there an older SDK version you recommend to use instead of 0.8.1 that works with IOS 10 or 11?


The line, AVCaptureConnection.cameraIntrinsicMatrixDeliveryEnabled, is supposed to only be used on newer devices.

The code used in the StructureAR.MM file should be smart enough to detect older and newer devices, but if it isn’t working correctly, you can always just block that but of code off as a comment from #if to #endif.

I’ll run some tests on the iPad Air we have in the office sometime soon. Thanks for the info.


Just attempted to build the sample scanner app for my iPad Air 2 (A1474) under the latest SDK (0.8.1), and it always crashes at runtime with the error mentioned by @pszulc.

I checked via breakpoints and conn.isCameraIntrinsicMatrixDeliverySupported evaluates to false. Removing the evaluation and attempting to initalize anyway, however, results in a different error:
[AVCaptureConnection setCameraIntrinsicMatrixDeliveryEnabled:] Not supported.

It seems to me that the SDK expects this option to be enabled, but then claims to not support it, so it is essentially impossible to run the latest SDK on a model A1474 device.

iOS version: 11.4
xCode version: 10.0 beta 3 (10L201y)

I can also confirm that the app builds just fine on a device of a different model (in this case an A1822 running iOS 12.0).


Yeah, this SDk does not work on an iPad Air. It crashes. That isCameraIntrinsicMatrixDeliverySupported line isn’t called in the code…but the rest of the code assumes intrinsics are called. No bueno.

crash in scanner sample code for iPad Air 2