3 ms·
"Requires iOS 6.0 or later" - one of my least favourite phrases. I'm curious - what specific features require iOS 6? Why is so much iOS software backwards-incom
by oneeyedpigeon 13y ago
"Requires iOS 6.0 or later" - one of my least favourite phrases. I'm curious - what specific features require iOS 6? Why is so much iOS software backwards-incompatible?
- conradev 13y agoDevelopers writing new apps see two things: - High adoption rate of iOS6 - Cool iOS6 APIs (Autolayout, UIKit attributed text, indexed subscripting, etc) and they decide to write for iOS6 only. They could support iOS 5, but the work is not worth the reward with the adoption rate of iOS6 being as high as it is. For developers with existing customers, it is a different story.
- aaronbrethorst 13y agoEven if you're not explicitly taking advantage of new platform, supporting iOS 5 increases your testing burden. For an indie dev (or a pair of developers), this can be a significant burden for minimal payoff, given how few users are on older versions of iOS.
- interpol_p 13y agoIndexed subscripting is available down to iOS 4.x I think — definitely available on iOS 5. It's a compiler technology, not related to the SDK.
- conradev 13y agoNo, declaring literals is a compiler technology that works with any SDK. Subscripting requires runtime support in the form of `-[NSDictionary objectForKeyedSubscript:]` and pals , available only in iOS6 and above: http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDictionary/objectForKeyedSubscript http://developer.apple.com/library/ios/documentation/cocoa/r...:
- interpol_p 13y agoThank you for the correction — I was thinking of ARC and weak references when I made that comment.
- conradev 13y agoActually, I stand corrected, indexed subscripting works back to iOS 5: https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/ObjCAvailabilityIndex/index.html https://developer.apple.com/library/ios/#releasenotes/Object...
- jeffd 13y agoThe Reminders and Events panels both use EventKit which only added reminders support in iOS 6. Also the high adoption rate of iOS 6 makes it not worth while to support older versions. I've spent many hours on other applications, mostly Mac, where the time spent making something backwards compatible was never really worth it. Example: I worked on getting fancy animations in an app that had to support Panther, which didn't even have NSAnimation support. However at this time Leopard had just came out and had all the new Core Animation hotness. Needless to say I would have saved countless hours if I didn't try back porting new features to older OSes no longer supported by Apple.
- oneeyedpigeon 13y agoThanks for the answer - I fully appreciate what you say. I'm just a bitter iPad1 owner whose £400 toy became obsolete barely a year after purchase. It's a shame there isn't a native equivalent of progressive enhancement.
- jeffd 13y agoI feel your pain, I too have an iPad 1 that I'd like to use more things on, like dashboards. :-P I guess this is just what we get when we buy Apple products. They are damn good at making last year's awesome product look obsolete the next year.
- interpol_p 13y agoTo be fair the iPad shipped with iOS 3.2 and has seen upgrades through 4.x and 5.x. My iPad 1 from 2010 saw a good few years of use, rather than just barely a year.