Skip to main content

Version Diversions

As a contractor I have to be light on my toes when it comes to using my own equipment and maintaining the ability to develop to the correct target version.

Apple have recently made this a bit harder for the likes of me with the introduction of Xcode 4.5 (now at 4.5.2) The issue is - from Xcode 4.5, Apple dropped support for older devices that have the Arm processers Arm6. No big deal you may think. But a lot of my clients have clients that denote the minimum target iOS version to build for.

This can cause problems and to compound things some directives specify iOS versions that are a) No longer supported by Apple, b) Have no device (both simulator nor handset) to test on. They are now starting to ask about updating their apps for the iPhone 5 resolution. It's hard to tell them that because of their target iOS, this can only be achieved by developing blindly relying on provisioning for device testing and the associated increase in development (known as cost) or increasing the minimum ioS version to build for.

Some don't get the concept that by increasing the min version, older versions will continue to work, but they will never be notified of an update to the app. Probably more the client trying to get others in their organisation to understand it. Somewhere there is a huge flag that says - "The more people using the app == more success. Therefore we build to include everyone".

One piece of feedback I did receive was, there was a reluctance to abandon their user base on lower iOS versions as if they changed their api's down the line, they could not guarantee the older devices would continue to work and that could be a bad thing. I understand the sentiment, but feel it's a bit of a clumsy approach. Developers by now will be thinking about fragmenting the code with device idioms but the commercial aspect will not allow for this.

Even if by some stroke of effective long sightedness by a developer or manager and a device has been maintained to the sufficient iOS version, by updating Xcode to the latest version, the developer removes support to build for any less than iOS 5.1.



In essence, as >= Xcode 4.5 has lost support for armv6, it cannot co exist with a legacy library that can support armv6.

Before Xcode installs were 'banished' the App Store, we developers could install Xcode versions side by side with little complaint. They shared some common areas but that was never an issue. Now installing via the App Store, Xcode is treated like a general purpose app on your mac, and has no exposed structure allowing you to 'help' the install progress in a fashion of your choice.

So as of today I'm a 4.5.2 man, but who knows, my next role may require me to roll back until the client gets a grip with their versioning and the impact of not moving along minimum targets in line with boss man Apple, 'bless em. For now my development environment is agile and my devices late to be updated as a consequence of Apple's no nonsense, no warning, approach to legacy and backwards compatibility. I admire it, but sometimes it's a pain.




Comments

Popular posts from this blog

The Winner Takes It All

I attended Scotch On The Road last week. A Coldfusion conference held throughout Europe and managed like a rock tour. It was a good day and I reacquainted myself with ex-colleagues from 3 different companies I have worked for. So it was nice to catch up with all. The session over the day were pretty specialist but a lot devoted to CF9, Adobe's new CFML server. Glad to say it's pretty good and a reasonable advance from CF8. I also won the raffle and have just finished choosing my $2000 worth of software, which will fit nicely onto the Macbook Pro.

I'm out of prison!

Actually I haven't been to prison I have been very busy working every hour I can in iOS development. I am now a iOS contractor with over 2 years experience under my belt and enjoying every minute of it.  I have decided to return to this blog and start sharing again the things I come across on my day to day travels.