![]() Additionally, there have sometimes been iOS or Xcode updates where it was made harder on us to keep supporting older stuff, so the sweet spot seemed to be the last 2 major versions. This is more than fair to users, given how old some of the devices are that Apple supports with current versions of iOS, combined with the fact that all applicable devices can get it right away and really have little reason not to. My policy, which I set for the last company I worked for and will be adopting for my current startup, was the most recent 2 major versions of iOS, which essentially means the last 2 years. For this app, there's not much point trying to providing support for even older devices that can't run iOS 16 because we'd be running into wholly unacceptable frame rates due to the performance requirements. We actually scale things back a bit to get adequate performance on slightly older lower-end devices running iOS 16. For that particular app, we've been going with that policy since it's initial launch nearly a decade back.įor another relatively new app, we're supporting iOS 16 and MacOS Ventura on Apple Silicon only-mostly because this one heavily leverages GPU acceleration on Metal and the ideal user experience really requires current devices. For that one, we go back as far as feasibly possible to support users who are using it on legacy devices. It's a free app, but supports a suite of relatively pricey static IoT devices that are expected to have long service lifetimes. I've one that is currently supporting everything from iOS 14 and above. Oftentimes this coincides with a major update release. on the particular app and it's userbase.įor my clients, this is usually led by product with input from QA and engineering: we'll reevaluate where the cut-off ought to be at least once annually with eyes towards what our analytics say for that app and measured performance characteristics on various physical devices in our test labs. Do you have the time and resources to support more than the current version, or even N-1? And if you do, is it worth it? Mostly because maintaining backwards compatibility requires a lot of time, work, and testing.Īt the end of the day, I think it just comes down to what makes sense for your app. Although I think this usually ends up resulting in an N-2 situation. Apps from large companies often evaluate this question on an annual basis and factor in things like analytics, QA capacity, and upcoming product goals.Utility and financial apps generally support N-5 or older because their customer base may just never update their phones, or may not have access to newer compatible hardware.Sometimes these customers have other software in their workflows that isn’t compatible yet. Apps with lots of power users, or that are highly niche, may support N-3, or even further.An educational app might support N-2, giving schools and organizations with MDM programs plenty of time to assess updates and distribute them.I think the answer to your question largely depends on who your customers are, what their needs are, and what your capacity is- and there’s nary a one-size-fits all solution.Ī few interesting examples (where N = the current iOS version): Take note that this list is live and based on most frequent questions in posts will be updated with "quicklinks". ![]() There's too many to list them all, however here's a convenient link to all programming guides at There is also dedicated subreddit for learning Objective-C: /r/learnobjectivec.Objective-C primer if you are new to the language and CocoaTouch frameworks.The Swift Programming Language also available as an iBook - new Apple's programming language for writing iOS and OS X applications.Swift or Objective-C? if you don't know which language to choose.If you are looking to get started (iOS programming in general or some specific area), here are more relevant links for you: Please browse it first before asking questions that are answered there. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |