[Resolved] For < 4.3 (Corona 704) do I have to freeze my Xcode version?

21 replies [Last post]
hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

I have to support iOS 3gs flavor.
I realize that I'm stuck using Corona 704 (last stable) but I'm wondering if I have to freeze Xcode too. Currently running 4.2.1.

I had to renew Apple Developer subscription and certificates, etc. I'm now getting errors on Build re certificates. Am going to start from scratch and do it all again tomorrow but thought I'd ask re Xcode version in case Apple needs a more current Xcode.

Feel a bit between rock and a hard place having to stick with 704 as there seems to be so much good stuff coming along.

Replies

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

@hwitten, I'm using daily build 704 (that was released yesterday, March 20, 2012, which came after 704A). It works with Xcode 4.3.1, supports iOS 4.x (and my game also runs on iOS 3.1.3), and supports New iPad (retina). So, you do not have to freeze Xcode. I upgraded my Snow Leopard to Lion, uninstalled Xcode 4.2.1, and then installed Xcode 4.3.1 over the last weekend. What a relief it all worked. If you plan on upgrading Xcode 4.2.1 to 4.3.1, you might want to read through this post before you start:

http://developer.anscamobile.com/reference/xcode43

Naomi

hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

Thanks you very much Naomi. That explains a lot. Now I might even sleep tonight :)

Danny
User offline. Last seen 44 weeks 3 days ago. Offline
Staff
Joined: 17 Aug 2011

Later versions of Corona still support the 3gs (as that was the device you indicated)

Only 3g (no s) and lower are no longer supported.

hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

Thanks Danny.

I'll do a double-check with my customer. It's basically an internal recycle program, I.e. management gets a new iPhone and the old goes to the warehouse as an iPod equivilant to run our inventory app. They also use some real iPods.

I might've been beating myself up unnecessarily as I'm doing some testing on my own old recycled 3G. Maybe time to actually do recycle that one so that it doesn't come back into the mix.

Time to take a step back and re-read the Corona specs/requirements.

hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

Just a double-check please... The dividing line for running current Corona builds and current Xcode is iOS 4.3 or later, and whatever requirements Xcode may have, I.e. Lion, etc. ?

This in effect drops 3G but leaves 3GS as "usable". Anyone know the dividing line for iPods? I'm assuming if they can load iOS 4.3 or later they'll be ok?

It's possible they've simply not been updating their devices yet say they are running 'latest'.

I think I'm going to build for 4.3 and later to weed 'em out. At least when it doesn't work they might feed me their correct info. Sometimes it's the user that presents the challenge.

hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

I'm back on track.

The last thing I "corrected" was the removal of older certificate in keychain. I.e. I had renewed my certificates and installed new ones but missed removing the old ones. They had not expired yet. That caused an "ambiguous matches" error during the build, resulting in failure.

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

@hwitten, this might come in handy for you: http://en.wikipedia.org/wiki/List_of_iOS_devices#Models

As of daily build 707, Corona will builds only for device that has iOS 4.3 or above. If you want to support a device that cannot be upgraded to iOS 4.3, then you can use daily build 704B (which supports iOS 4.x, and in fact, it can be installed on 3.1.3 as well). Daily build 704B also supports new iPad (retina). If you are okay with iOS 4.3 or above, you should go with daily build 767 or above -- I highly recommend you keep an eye out for release notes as new daily builds are released.

Cheers,
Naomi

hwitten
User offline. Last seen 1 year 51 weeks ago. Offline
Joined: 6 May 2010

Thank you for the link Naomi. Will make a good reference.

I'm going to go back to latest builds, I.e. >4.3 until my user complains. Too much good stuff has been added since original 704. Had quit reading release notes so that I wouldn't feel all bad and look where it got me :)

Thanks for all the help.

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

Glad I could help. Best of luck!

Naomi

LairdGames
User offline. Last seen 16 hours 50 min ago. Offline
Joined: 28 Oct 2011

Hello Naomi, all.

I am now an INDIE dev! Not a PRO like you ah! ah! I have to admit I am a little overwhelmed passing from tester to subscriber. Until now I am was using OS 4.2.1 (I believe) and 704 release.

If i understand correctly this thread, I can without any issue upgrade to OS 4.3 and use the latest Corona release (785 I believe)? That way I could release to any device from iphone3GS to ipad3, correct? Any issue in using the latest release 785 or should use the latest stable release (704b)? Where do I get 704b?

I am very sorry for all these questions but like i said, after I push that "buy" button for the subscription, I feel like someone pushed me into a cold ocean...and i am not great swimmer:)

Any pointers on what I should be careful about will be appreciated. I am trying to not start upgrading without much of plan since that could bite me later..

THANKS!

Mo
LairdGames.

EDIT: Sorry for the false alarm. I was able to install OS 4.3.2 without much issue. It asked if I wanted to purge 4.2 and said yes. Pretty painless. I am still figuring out the Corona release version but i will continue searching on the forum. If I can find the solution, I may post something specific to that.

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

Congrats, Mo @LairdGames, for upgrading from test driver to Indie Dev. Woohoo!

I can only tell you what I know (and Ansca Staff may very well be able to better assist you on this), but as far as I know 704B is stable, works with iOS 4.3 and above, and supports New iPad (retina). You can find it by clicking on Daily Builds link above. 704B is the CoronaSDK 2011.704 released on 2012.03.19 (between daily builds 768 & 769).

About choosing between 785 and 704B, if yours has been working perfectly fine with the 704 and/or 704A, I would consider using 704B. You can use 785, but if you decide to use 785, you'd want to do some extensive testing to make sure nothing broke. For example, the Facebook integration process has changed after 704. Also, with 785, you want to use newText (rather than newRetinaText). I don't remember all the other things that has changed since, but I wouldn't just build your code with 785 and release it without doing some good amount of testing.

Good luck.

Naomi

LairdGames
User offline. Last seen 16 hours 50 min ago. Offline
Joined: 28 Oct 2011

Thanks Naomi. I appreciated. Yes I am happy i finally did it.

You are wonderful! I was going to ask that specific question (785 vs 704b) Unfortunately, I am still confused (not a surprise!) I downloaded the release between 768-769

CoronaSDK 2011.704
2012.03.19
CoronaSDK-2011.704.dmg

But the release note says it is 704a? It also only have the Mac version (.dmg) not the windows version (I work mostly in PC and do build on my mac mini) I am not where to get 704b?

Any ideas?

Thanks again.

Mo

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

Oh, I see. Well, you'd need Mac to generate release build -- so I guess the logistic from Ansca's point of view might be, if you are generating release build you'd have a Mac to do it -- so maybe that's why there's no Windows version? I'm just guessing.

If you are working towards releasing your game in the very near future, I imagine you have an access to a Mac? If so, you'd probably want to use the 704B. BTW, although it doesn't say it's B, it is -- and if you check About Corona Simulator, it says it's released sometime back in December last year, but we know it's the version we downloaded from daily build dated 2012.03.19.

Anyhow, if you don't have an access to a Mac, I suggest you use 785 (or whatever is the latest) and test your game/app extensively. I also suggest you test it on your iOS device (nothing beats testing on device) before uploading to iTunes (but then, that's how I'd do things, and it doesn't necessarily mean you must do the same.)

Good luck!

Naomi

LairdGames
User offline. Last seen 16 hours 50 min ago. Offline
Joined: 28 Oct 2011

Thanks Naomi! That is why i was confused. I was looking for 704b. The simulator says:

Version 2011.704 (2011.12.8)

So that is version 704b? I do not see an iPad retina in the choice of devices. is that normal? I just do not see any difference between the 704 I was using when I was a tester and this version that is why i am curious.

I will run with it if Version 2011.704 (2011.12.8) is the actual "704b" Like you, I am also finding curious that there is no windows for version for "704b" but all the other version have one.

I mostly work on my PC (laptop) but build on my mac mini so it was convenient to switch between the two. I guess I will have to decide and maybe go for 785 with your great suggestion of testing to death the app on the device!

Thanks so much Naomi. If you could confirm that the simulator is suppose to say the version above that will be wonderful:)

THANK YOU!

Mo

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

Hey, Mo @LairdGames, yes, the simulator says the version you noted above, but it is 704B if it's the one you downloaded from the daily build dated 2012.03.19. And no, there's no New iPad specific build. If you build for Universal or for iPad, it should support iPad, iPad2 and New iPad -- so long as these devices have iOS 4.3 and above.

As for the difference between 704A and 704B, you wouldn't see much difference on Simulator (and I don't even remember if there's any difference at all, in terms of how it works on Simulator.) But if you are building to release the app, then 704B is the one to use. 704A still have scaling issue for New iPad.

I guess the biggest advantage that 704B has over 785 would be that 704B supports iOS below 4.3. When I build my game using 704B, it can support all the way down to iOS 3.1.3 -- but if you are targeting iOS 4.3 and above, there should be nothing stopping you from using 785 (except for some potential bugs that may creep in unnoticed.)

Good luck!

Naomi

LairdGames
User offline. Last seen 16 hours 50 min ago. Offline
Joined: 28 Oct 2011

Hello Naomi.

Thank you, thank you, thank you! Yes I am planning on releasing for iphone 3GS and above so I guess 4.3 I will probably update the game later for ipad3 since i really want to release the game to testers (testflight) and then to the store. i think I have been working on this game for far too long already:)

I may take a look at 785 since i really want the flexibility of working on both computer (windows and mac) at will.

I cannot thank you enough for being patient with me:)

Mo

Naomi
User offline. Last seen 1 week 5 days ago. Offline
Joined: 6 Jun 2011

No problem at all. Best of luck with your first release!

Naomi

dale
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Feb 2011

Has Ansca ever addressed why they are requiring 4.3 for the newer builds?

The latest (4.3.2) XCode supports building for older platforms, why does Corona no longer support the same?

Eliminating all the potential markets of the iPod Touch 2G, iPhone 3G, seems to be a bad business decision IMHO. There are a lot of devices out there, and I only found out recently that people with those devices couldn't install it (although I can manually put it on their devices, and it runs fine).

If there are specific Corona features that require 4.3, perhaps Corona could change the build parameters only if those features are used. (Isn't that what build.settings is for? Why not allow some flexibility through build.settings for the minimum target OS.)

Needlessly eliminating millions of devices from one's potential market, is a decision that has me wondering if I should consider one of the growing number of Corona alternatives. (Corona and MOAI both create XCode projects, so you can set your target iOS accordingly) :S

Anyone know the reasons behind this, and if they could address it with build.settings?

Thanks,

-d

ewing
User offline. Last seen 1 year 51 weeks ago. Offline
Alumni
Joined: 13 Jul 2010

My response isn't the official Ansca response, but there are a lot of reasons to move forward. I'm going to also preface this with something I told Peach. I tend to say things people don't like to hear, even if that isn't my intention. So this time, I am deliberately going to say things you don't want to hear. Again, this isn't the official Ansca line.

- New OS versions aren't just about features; they fix important bugs too. Just because the API is there on older OS's, doesn't always mean it works correctly or the same way. It is expensive to work around Apple bugs and we can't always work around them. We sometimes need the new OS version so things will actually work.

- Apple continues to improve things that make things easier/faster/better for developers. Backwards compatibility may mean we can't use those features or it slows down our development time. Because you are not coding directly in Cocoa/Objective-C, you are sheltered from this and may not be aware of the new features and how they impact things. But we have to code in Cocoa/Obj-C and so are dependent on our ability to produce quality code quickly. As an example, language changes are the most fundamental kinds of changes and are the hardest to make backwards compatible. Obj-C was pretty stagnant for the past 20 years. But around 2007 (OS X 10.5), Apple started making drastic improvements to the language. Apple has been writing since then and the changes have become even more frequent. It was once every OS release. More recently it was with every Xcode version. Now we're being lured to build the compiler ourselves directly from the open source repository.

- There is a large cost in supporting backwards compatibility. This is in fact a 'feature' which can come at surprisingly high cost because it makes code more complicated, testing more complicated, and support more expensive. This also is in conflict with actual 'new' features and takes away time we can be spending on those.

- Analytics we studied when we made the switch showed iOS 4.3/iOS 5.0 had about 80% market share with the rest scattered throughout all the other OS version. That's huge. More recently, iOS 5.1 information is coming in showing extremely fast adoption in a matter of 2 weeks. http://www.iphonehacks.com/2012/03/ios-5-1-upgrade-stats.html

- The devices that could not upgrade to iOS 4.3 are armv6. Those who have been working with our Android side knows that armv6 performance has been hard to manage/guarantee. The writing has been on the wall for a while.

- Anecdotal evidence showed that of the people that did not upgrade to 4.3 or higher but could were using Jailbroken phones. You don't want jailbroken users as 'customers' because they have a high percentage of piracy. Those that don't may find that in-app purchases and other network services like Game Center/Push Notifications won't work which will be a support problem for both of us since users aren't usually forthcoming about jailbroken devices.

- There is additional evidence that people that don't upgrade are usually not buying a lot of apps. Anecdotally, I have really old devices and can't upgrade. And I am your worst nightmare because I never buy anything.

- Apple isn't technically supporting old iOS versions. All devices they support continue to get iOS updates. Those that don't aren't even getting security updates anymore. If Apple with all their money/resources isn't going to spend money supporting their own devices, that should be taken as a hint to everybody else.

Apple does things very differently than say Microsoft. If you are developing on Apple platforms, you need to learn quickly to go with the flow or Apple will stomp you. (See what happened to Intuit's Quicken or to a lesser extent Microsoft Office on Mac.) Or you can simply look at what happened with iPad 3 (retina) because we didn't update fast enough within the 1 week window Apple gave us to update everything to the 5.1 SDK.

Read this article. Us old-timers that have been developing on Mac for a long time have always know n this. Matt Gemmell knows what he is talking about, but this is new to all the new iOS developers.
http://mattgemmell.com/2011/12/05/latest-version/

If anything, I think the problem was not that we moved the requirement to 4.3, but we waited too long to drop 3.1, 3.2, 4.0, 4.1, and 4.2. If we had been more gradual and consistent, then you can make decisions based on the trend. I encourage you to use this as a lesson and expect us to try to track Apple more carefully on their official support matrix timetable. (Android is a completely different story though.)

I also say pick your feature requests carefully. There are always tradeoffs. Note that Game Center didn't become available to 4.1 and we still found significant bugs until 5.0. And it uses new Obj-C language features that were not available in 3.x. Something was going to give. (And in addition to the minimum OS version, I will say that Mac App development time was sacrificed for Game Center.)

But to end this, I don't want to lose sight of what's really important in my opinion. We are trying to deliver you a great platform for you to work with that lets you create and deploy terrific apps. It is important to us that your users get stable products that work and run well. We don't want you getting bad reviews because the performance was terrible or crashed on some old device because a corner case didn't get test coverage or you didn't performance test your own app on older devices assuming things would just magically work exactly the same. Backwards compatibility should be thought as a feature. And with all the features, we are trying very hard to find the right balance for everybody to make great apps and a lot of money. Based on all the criteria above, it was time to bump up the version.

@RSCdev
User offline. Last seen 1 year 45 weeks ago. Offline
Joined: 6 Sep 2011

@ewing: I did not ask for, but THANK YOU for this exaplantion. It`s a VIEW!

Cheers,
Rodrigo.

dale
User offline. Last seen 2 years 14 weeks ago. Offline
Joined: 22 Feb 2011

Thanks ewing, that was a very informative and helpful response.

The 80% for 4.3/5.1 is quite compelling.

I might argue that tossing 1/5th of the potential market is still slightly questionable, especially for those who *can't* upgrade beyond 4.2.1 (iPod touch/iPhone 3G). It's one thing to get "you have to upgrade to run this program", but another when you can't do the upgrade at all beyond 4.2.1.

But as you say, combined with the fact that some of those 20% are probably *quite* old (not just 4.2.1), jailbroken, and adding in those development hassles you mention, I'm a bit more sympathetic to the decision, or at least understand the reasoning. :)

I truly appreciate the response, official or not, it's insightful and helpful, and indicates there are those at Ansca who listen. (It's this type of responsiveness to, and communication with, the community that will hopefully help Corona stay ahead of the competition.)

Thanks, ewing. :)

-dale

Viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.