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;

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <pre>
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or "class="OPTIONS" title="the title".
  • Lines and paragraphs break automatically.
  • E-Mail addresses are hidden with reCAPTCHA Mailhide.

More information about formatting options

Complete this form and then pat yourself on the back.