Guide for creating iOS and macOS App Store compliant apps

Is there a guide somewhere that outlines the general process and all the tools, libraries, etc. needed and recommended to make an OpenFl based iOS app or macOS app that’ll be accepted by Apple.

I’ve seen discussions and announcements of several OPenFl based iOS apps that made it or there was an attempt to make it in the app store so obviously it can be done. I’ve also seen references to an Xcode template and actually using Xcode.

  • What is a Xcode template and is Xcode a necessary part of the process?
  • To what extent is knowledge of Object C necessary or helpful?
  • To what extent is knowledge of Swift necessary or helpful?
  • Is it possible to use iOs and macOS class libraries?

Thanks in advance!

Hey I have an Ios devolper team license and have an app in test flight right now in openfl I’ll try to answer each of your questions to the best I can :slight_smile:

  1. Xcode template is created every-time you build to ios in order to continue to upload to itunes connect, test a simulator or build to phone. And yes Xcode is necessary part of the process. Here’s a look at how to utilize Xcode for openfl Here
  2. Objective C is helpful for writing extensions such as assessing the camera , native text, push notifications etc.
  3. Same as objective C it’s just another language you can use I pretty much only use objective c when writing extensions since that’s the default for lime extensions I believe.
  4. Yes It is possible to use iOS and mac os libraries, look through some gradle supported libs and see how they utilize certain sdks as well as native ones.

You should be able to build and test for the iOS simulator without a team ID. Install Xcode, then run either:

openfl test ios -simulator


openfl update ios -xcode

(the latter command generates the Xcode project template, then opens Xcode for you to manually run, or the first command tries to do it all automatically for you, but installing and running on the simulator is sometimes flaky)

For a device, you will need a team ID. I recommend opening ~/.lime/config.xml (which includes defaults added to every Lime project on your system) and adding <config:ios team-id="" /> with your team ID. You Apple develoepr team ID is viewable from the Apple Developer site, under your Profile, if I remember correctly. Doing this once means you won’t have to do it for each individual project, though that’s another you could do it :slight_smile:

Then you can run a similar command to build and run, or do it from Xcode if you prefer

openfl test ios
openfl update ios -xcode
1 Like

So is it possible to take projects that have been written with HaxeDevelop + OpenFL and generate something that can run through xCode?

Run openfl update ios -xcode and it will generate an Xcode project and open it up for you (but not build and run)

Great, thank you singmajesty!