Embedding 3D Models in iOS Apps

Starting with iOS 8, applications can embed live 3D models directly. There are some limitations:

    • iOS 8 or later is required. This technique will not work in earlier versions of iOS.
    • A live internet connection is required. This technique cannot be used for offline applications.
    • Load time is longer using this method than it is with a native application.
    • Appearance is degraded. In particular the 3D images will look grainier embedded this way because iOS currently does not support anti-aliasing of embedded 3D models.
    • 3D models use a considerable amount of RAM, so apps that already fill memory may encounter crashes after adding 3D models.

If any of these limitations are a deal-breaker, then the best answer is to use application linking, as described here.

But if these work for your app, the process of embedding is quite simple. Follow the instructions in the PDF attached to this article for embedding on a web site. Except instead of putting the IFRAME into a web site, you will put the IFRAME into a HTML page that you show in a UIWebView or WKWebVIew control within your application.

That's all there is to it. The embedded IFRAME will get the latest version of the 3D model, and use WebGL technology to display it interactively.