After being told I had the task of getting Storyboard to run on iOS I was excited about the opportunity to learn about the operating system and iOS app development. The process seemed simple in concept but ended up being far more complex than anticipated.
I started by learning what I could from Xcode's sample applications and comparing them to the tasks I knew I needed to complete to run Storyboard. Creating the application was complicated at times. The confusion was caused by the fact that there are essentially three main components that I needed to be aware of at all times. The first was the plugins and libraries that make up Storyboard, they had to be compiled properly and linked to the iOS appropriate headers and frameworks. The second was the iOS application itself, this program had to know how to use all of the Storyboard plugins and libraries, while still following apple's development rules. The third was the Storyboard application I was running within the iOS application. I'm used to working on projects contained in one workspace and one programming language, so needless to say this got confusing at times. Each time a new error occurred or a bug was found, it was important to figure out at what level it originated. Perhaps I had forgotten a change I made in my gapp file, or maybe I had made the mistake in Xcode, or perhaps the plugins themselves were being compiled with frameworks that iOS can't use.
Besides the multi-leveled project structure, the only remaining complications were the rules of making an iOS application and the use of Xcode. Most of the iOS issues were things like what can and cannot be done in background threads. For example iOS only allows UI calls to be made on the main thread, but in order to keep things organized, we wanted storyboard in its own thread, while still keeping the main thread open to handle input from the screen or other native functions.
Luckily for you, the next release of Storyboard Designer will have a simple to use "export to iOS application" option. No need for keeping up with Apple's rules and development systems. You can simply build your app, just like any other Storyboard application, then export it to an iOS application.
This new feature will only be available to Mac users and will require you to make an Apple developer account. But, once those two conditions have been met, it feels pretty cool to make an application in Storyboard, say export to iOS, and then put it on an iPad. Also this update comes already compatible with the new Multi-Touch capabilities of Storyboard.
- Brian Troy