Clarification...Building/Publishing to both Android and Apple using Corona on Windows

I was about to start using Corona installed on my Windows PC to build an app targeted for both Apple and Android devices.  But in the FAQ section (https://coronalabs.com/faq/), it indicates I cannot build apps for iOS devices using Corona on my Windows PC and I would need to use a Mac.  See below excerpt.  Is that true?  Seems a little contrary to other things I was reading, see example in other second snippet below.   Just wanted to get an understanding of what’s ahead for me.

In FAQ Section.

"Note  — Because of Apple restrictions, you cannot build apps for iOS, macOS, or tvOS using the Windows version of Corona. However, you can use the same Lua code written on a Windows machine and build apps using a Mac if you want to target Apple platforms."

On Corona Home Page

“That means you can create your project once and publish it to multiple types of devices, including Apple iPhone and iPad, Android phones and tablets,…”

Welcome to the forums @mikulskn. To build for Apple devices, you must be able to run Xcode, Apple’s developer tools. These tools only run on a Mac. So you do need access to a Mac to build for Apple devices.

The statement on the home page is simply implying that your Lua code can be written once and built to run on many different devices. However, it does not imply that you can build for every device from Windows.

Rob

@mikulskn

Adding to what Rob said, just be sure you understand: Apple is reason this is a requirement.   I’m sure it’s part of their strategy (and I don’t blame them).  You must own Apple hardware to make apps for Apple hardware.  In this case they want you to own some kind of Mac and hopefully at least one mobile device.  

This requirement is true for all game engines and SDKs.

** SEE CORRECTION BELOW ** 

It seems I am wrong.  There are some dev environments that let you do the entire build process for iOS apps on a Windows machine.  Very interesting.

You can rent a Mac using the MacInCloud service that you can use to do Apple Builds. Many people pick up a MacMini which is fairly inexpensive. 

Rob

That’s not true.

Using the Marmalade SDK you could code in C/C++ using Visual Studio and you were able to create and sign iOS builds without ever touching any Apple hardware.

Another option is this http://www.pmbaty.com/iosbuildenv/

@Michael,

Well, that’s what I get for making a blanket statement. :slight_smile:

re: Marmalade - Interesting.  1. I wonder how they bypassed the signing chain that Apple has setup.  2. I do wonder how Apple weighs in on this.  I guess they must not make a fuss since I’m sure there are Marmalade games/apps out there.  

re: Other option - Without making a blanket statement (this time) I I don’t think that linked option will work in this case because of the way Corona builds operate.

Finally,  the OP now knows s/he is going to need Apple hardware in some form or fashion to build is Corona game/app.  S/he now knows this and has been made aware of the MacInCloud option.

Unreal Engine seems to also have found a way to bypass this requirement, however, I never got Unreal to finish an iOS build to know if it works. The last time I looked at Unity, they output a Xcode project that you use Xcode to build.

We, of course, need to investigate this, but it seems that as often as Apple releases new versions of Xcode and changing the submission rules, trying to keep up some third-party system given our small team doesn’t seem practical.

Rob

Yeah of course - it would just not make sense for Corona to add such a feature as I guess it’s a nasty source for bugs and constant changes to keep up with what Apple does. Just wanted to point out that it’s actually possible.

SimCity BuildIt is probably the most prominent game using Marmalade.

In the end, we’re here because of the great things Corona can and does offer and, as I’ve written in the past, it’s fantastic for what it does.

Ok, I follow the above and appreciate the clarification.  I like Corona, so I am just going down the following path for my first app…

  1. Just develop/test the app using Android devices and mature this version.

  2. When finally ready to do some final testing on iOS devices and eventual publish on store, borrow or buy a Mac device or do the MacInCloud version.   

  3. For MacInCloud, it comes with Xcode, but I would need to install Corona, so would need to rent version with Admin rights, at least per my initial understanding.

  4. If I borrow someone else’s Mac, like for a weekend or two, I would need to install Xcode and Corona on the borrowed device, and take it from there.

Thanks for the replies above.

Welcome to the forums @mikulskn. To build for Apple devices, you must be able to run Xcode, Apple’s developer tools. These tools only run on a Mac. So you do need access to a Mac to build for Apple devices.

The statement on the home page is simply implying that your Lua code can be written once and built to run on many different devices. However, it does not imply that you can build for every device from Windows.

Rob

@mikulskn

Adding to what Rob said, just be sure you understand: Apple is reason this is a requirement.   I’m sure it’s part of their strategy (and I don’t blame them).  You must own Apple hardware to make apps for Apple hardware.  In this case they want you to own some kind of Mac and hopefully at least one mobile device.  

This requirement is true for all game engines and SDKs.

** SEE CORRECTION BELOW ** 

It seems I am wrong.  There are some dev environments that let you do the entire build process for iOS apps on a Windows machine.  Very interesting.

You can rent a Mac using the MacInCloud service that you can use to do Apple Builds. Many people pick up a MacMini which is fairly inexpensive. 

Rob

That’s not true.

Using the Marmalade SDK you could code in C/C++ using Visual Studio and you were able to create and sign iOS builds without ever touching any Apple hardware.

Another option is this http://www.pmbaty.com/iosbuildenv/

@Michael,

Well, that’s what I get for making a blanket statement. :slight_smile:

re: Marmalade - Interesting.  1. I wonder how they bypassed the signing chain that Apple has setup.  2. I do wonder how Apple weighs in on this.  I guess they must not make a fuss since I’m sure there are Marmalade games/apps out there.  

re: Other option - Without making a blanket statement (this time) I I don’t think that linked option will work in this case because of the way Corona builds operate.

Finally,  the OP now knows s/he is going to need Apple hardware in some form or fashion to build is Corona game/app.  S/he now knows this and has been made aware of the MacInCloud option.

Unreal Engine seems to also have found a way to bypass this requirement, however, I never got Unreal to finish an iOS build to know if it works. The last time I looked at Unity, they output a Xcode project that you use Xcode to build.

We, of course, need to investigate this, but it seems that as often as Apple releases new versions of Xcode and changing the submission rules, trying to keep up some third-party system given our small team doesn’t seem practical.

Rob

Yeah of course - it would just not make sense for Corona to add such a feature as I guess it’s a nasty source for bugs and constant changes to keep up with what Apple does. Just wanted to point out that it’s actually possible.

SimCity BuildIt is probably the most prominent game using Marmalade.

In the end, we’re here because of the great things Corona can and does offer and, as I’ve written in the past, it’s fantastic for what it does.

Ok, I follow the above and appreciate the clarification.  I like Corona, so I am just going down the following path for my first app…

  1. Just develop/test the app using Android devices and mature this version.

  2. When finally ready to do some final testing on iOS devices and eventual publish on store, borrow or buy a Mac device or do the MacInCloud version.   

  3. For MacInCloud, it comes with Xcode, but I would need to install Corona, so would need to rent version with Admin rights, at least per my initial understanding.

  4. If I borrow someone else’s Mac, like for a weekend or two, I would need to install Xcode and Corona on the borrowed device, and take it from there.

Thanks for the replies above.