Corona/Xcode version and Xcode Storyboard to launch app

I received an email from Apple and it includes this, “Apps for iPhone or iPad must be built with the iOS 13 SDK or later and use an Xcode storyboard to provide the app’s launch screen.”

And it appears I have until June 30th to be compliant.

  1. First of all, to get to iOS 13, I need Xcode 11.x, right? If that’s the case, does Corona support it properly? I assume this must be on a Mojave system.
  2. Does Corona use “an Xcode storyboard to provide the app’s launch screen” or do I have to do something in my app to comply with this? I was planning on just recompiling my existing code with the latest Xcode and the latest Corona and posting it to the App Store.

I think the answer to #1 is that yes, I need Xcode 11 per these release notes for Xcode in the App Store:

11.0 Sep 20, 2019

Xcode 11 includes Swift 5.1 and SDKs for iOS 13 , tvOS 13, watchOS 6, and macOS Catalina 10.15

10.3  Jul 22, 2019

Xcode 10.3 includes SDKs for iOS 12.4, tvOS 12.4, watchOS 5.3, and macOS Mojave 10.14.6

I think I found the answer to #2 here. Can someone confirm this meets Apple’s requirements?

https://docs.coronalabs.com/guide/distribution/buildSettings/index.html#ios-launch

So this all points to needing Catalina for current iOS app development, right?

I am also curious what the absolute requirements are for doing development for iOS apps? I initially turned to Corona because it seemed like it might have less stringent requirements for development, but now that I’ve got the basics and was ready to test on an actual device, I think my machine configuration may be too ancient.

I’ll admit, I’m on an old Mac. Mid 2010 MacPro. Decent machine in it’s day, but a little long in the tooth now. Especially for Metal graphics cards and the like. Still, I can run Adobe suite without problems and get stuff done. What I can’t seem to do is app development.

I’ve updated to High Sierra 10.13.6, and it looks like that may be as high as I can go right now. If I bought and installed a new Metal-compatible graphics card, I could update to Mojave (10.14), but I still couldn’t update to Catalina (10.15), and it seems like the newest version of Xcode requires Catalina… right?

So I’m currently running Xcode 10.1. Could *maybe* update a little further with some work, but I don’t know if that is going to help me in the long run. When I go to Build for iOS, I’ve got an UNSUPPORTED iOS SDK mismatch right now. (Local iOS SDK is 12.1 and I guess this version of Corona wants to build a 13.3 iOS app?)

The big question for me is am I basically screwed until/unless I shift to a newer machine? Even though Corona has much lower requirements, if I want to build iOS apps, I’m literally going to need to be running Catalina, and have the latest XCode installed, aren’t I?

Thanks for any clarity/help you can give me.

Best,

zane

P.S. And just to confirm, while there is a Corona for Windows, is it able to produce running iOS apps, or just Android apps? (I do have a newer PC available.)

You have to have a Mac to build for iOS even with Corona. You cannot do it from Windows.

Apple forces new versions of iOS/Xcode on developers and generally they only support 1-2 major versions back. So yes, your MBP 2010 edition may not be able to run the latest xCode.

There are a couple of options. First and probably the cheapest, is that Corona should be able to run on your older MPB for testing in the simulator, until Apple forces out the EOL for OpenGL. You could rent a mac in the cloud (from MacInCloud) to do your builds on. Many Windows users go this route instead of buying a Mac.

Secondly you could look for a good, but used older mac in the 2012 to 2015 range (obviously getting the newest you can afford makes sense). Apple probably won’t drop support on the 2012’s for a couple of years (not a guarantee by any means) and used Macs can be found on eBay or Craigslist for a fair price, in particular if you don’t need the laptop portability and can pick up a generation or two back Mac Mini.

That can keep you going for some time.

Rob

Thanks, Rob for the super speedy reply! Your answers were pretty much in line with my guesses. Some clarifying follow-ups, if you don’t mind, since I did make a little strange progress since I posted and you replied.

I did manage to actually get an app to Build (after much back and forth with Xcode about AppleIDs and such) by downloading an older version of Corona also, looking for one old enough to line up with the 12.1 SDK that my version of Xcode seemed to support. This logic was sound, and an app got built at least (even though I’m guessing I’d of course need to update all of this to the latest for any eventual legit submissions to the AppStore).

I assume the obvious hazard with this approach includes not having the latest features or bug fixes of Corona, which may or may not be an issue for my app?

I was unfortunately not able to follow this with an actual installation to my device. While it is tethered via USB, I get a Device Installation Problem error with “ideviceinstaller encountering the error: no USB connected devices detected.” Not quite sure why. I do notice that my Devices window in Xcode shows my iPhone 11 Pro and has a warning at the top: “Could not locate device support files. This iPhone 11 Pro is running iOS 13.1.2 (blah), which may not be supported by this version of Xcode.”

I didn’t do anything special to “set up” my iPhone or iPad as test devices, so I may be trying to skip a step or two here. I just want to confirm that I can get a simple app that I can already run on the Simulator to actually run on my devices. (I am also trying to do all this before spending the $99 for a Developer renewal, which is supposedly possible. And I don’t care if it only lasts on the device for 5 days, or whatever.)

Yes, while my machine is terribly ancient, I do have rather modern versions of both iPhone (new) and iPad Pro (1.5 years old maybe), and I’m not quite sure how the iOS upgrades work. Do apps need to upgraded to iOS 13 to run on devices running iOS 13, or is there “backward compatibility?” (i.e. can my iOS13-device run a iOS12-built app?) Or, if I’m theoretically okay to use an old version of Xcode/Corona to generate iOS12 apps, do I need to locate a device running iOS12 to install/test with? Do I need to do something special to have test apps installed on a test device after a Build?

Like you suggested, I actually already looked into rentals as well as cheap Macs (kinda an oxymoron there) and even LogMeIn-style services for doing this on the cheap, which I may indeed resort to. (I also have a friend who might loan me his 2013 trash can when I’m closer to “release-ready.”) If possible, though, I’d like to get as far as I can with what I have (if practical), and then just rent or borrow once I have a fairly complete/debugged app. (That said, it really would be nice to test not just on the Simulator, as I go.)

So if I can get a little better picture of the OS/compatibility issues and how to actually load an app onto a device, I think I might get this Corona development thing figured out after all.

Thanks again!

Oops! Hey, nevermind for most of that! I got it to run on at least one of my devices! So clearly a 12.1 app can run on a 13 device (as I’d hoped/assumed).

I hadn’t added my specific device to the Xcode Signing selection, so the Provisioning profile wasn’t quite right, I guess. Then I had to install it using Xcode, rather than the USB upload in Corona (which still didn’t work). (I will say the whole generating Xcode Provisioning profiles stuff really could use some step-by-step documentation somewhere, especially for those of us NOT currently registered as Developers. It’s a lot of forum searching and leaps of faith here and there to kinda sift through all that.)

But at least I know I can do this. Of course, the way my windows are being cut off is different than the Simulator, so I’m clearly doing some things wrong somewhere… (or possibly being burned by an older version of Corona doing the Build, who knows?) …but at least the app is on my device!

Anyway… I’ll try it on the iPad too and then try to debug it. At least I now know I *can* get an app out and even test on a real device. I’ll have to figure out the right solution to the “latest xCode” issue a wee bit later.

z

Is there a particular reason why new versions of Corona need to be tied to a specific version of iOS/Xcode? It would be kind of nice if we could have the latest build of Corona but still choose which version of iOS to build with? (Which would let people like me build with old systems but have the latest fixes for Corona. I suppose it’s probably because you also incorporate new iOS features as they roll out?)

I’m not 100% sure I got the most recent version of Corona that still supports the 12.1 SDK. The notes aren’t super clear when that changes, so I was kind of guessing.

BTW, I figured out my other issue with the Simulator being different than the device. It was this: https://forums.coronalabs.com/topic/73719-ios-114-iphone-x-screensize-issues-on-build/

Really digging CoronaSDK so far, guys. (Makes all the difference when you can see your work on an actual device!)