Running Ogre 3d on iOS

Getting OGRE3D to run on iOS was a pain at first but after I got the hang of it things went rater smoothly. Here are the steps I took to get things running.

First of all, here are my devices:

– Xcode Version 7.3.1 on 15″ 2015 MPB OSX 10.11.3

– iOS 9.3.1 on iPhone 6s+

Start Installing:

– Download the procompiled version of OGRE3D from the OGRE download page or directly

– Run the .dmg and place the resulting `OgreSDK` on your desktop (or wherever)

– Download the Xcode template for OGRE here. You can check for a new update here (ogre-dependencies-mac > 1.9 [or newer] > Ogre_Xcode4_Templates_xxxxxx)

– Run and install the Xcode template

– From the same place you downloaded the Xcode template, download Ogre_iOS_7.0_Dependencies which are the precompiled dependencies for OGRE

– Open Xcode and start a new project and for the template select iOS > Ogre > iOS Application, Fill in all your details and save your project

– Go to your project’s Build Settings in Project Navigator > “Project Name” > Targets > “Project Name” > Build Settings

– Add a user defined environment variable by selecting Editor > Add Build Setting > Add User-Defined Setting

– Set the New_Setting to OGRE_SDK_ROOT and the value to your OgreSDK e.g. /Users/Jackson/Desktop/OgreSDK or wherever you put it


At this point you can run the app but you’ll likely get the following issue (I did):

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication terminate:]: unrecognized selector sent to instance 0x16dc0360'

I didn’t have any luck fixing this for simulators but here is how I fixed it for my device:

Comment out the following lines (66 & 67) in OgreFramework.cpp

// if(!m_pRoot->showConfigDialog())
// return false;

Leave a comment

Your email address will not be published. Required fields are marked *