0

I'm a participant of the Apple Developer Program and have been downloading and testing beta versions of iOS for a number of years now.

When updating to a new iOS version I sometimes notice that a number of popular applications require updates via the App Store. This indicates to me that the developers behind these applications have a reason to support the latest operating system release. I assume that reason to be that they still want their users to be able to use their applications by updating the source code to meet changes introduced with that operating system version. Something else I thought about was the fact that developers are able to update their applications in preparation to the GM releases of iOS - making them 'work' from day 1 of release.

As a student and beginner iOS developer, is there a reason for me to update my application to work on the beta versions of iOS? Is it best practice to have an always up-to-date version of my app including on beta releases of iOS? Are my assumptions correct?

I'm wanting to justify developing my application on a beta release of iOS; as I assume this is best practice judging from the updates I receive for other applications when upgrading to the latest beta version of iOS? Is there somewhere that says this is necessary or best practice? Searching Google has not revealed any academic resources or documentation from Apple regarding my question. So are my assumptions incorrect? Should I ignore the beta versions and only focus on supporting GM versions of iOS?

  • Well, first of all, "best practice" is a red herring. The only best practice that exists is the one that most effectively meets your specific requirements, and that best practice will change in five years, a year from now, or perhaps in the next five minutes. – Robert Harvey Mar 27 '18 at 15:15
  • Secondly, you don't need any justification to develop applications for beta versions of iOS. None at all. The only justification you need is that you want to. – Robert Harvey Mar 27 '18 at 15:17
  • Finally, you've already stated a reasonable motivation for doing this. Your application works from "day one." – Robert Harvey Mar 27 '18 at 15:17
2

Beta releases are by definition "works in progress". Until the vendor (Apple in this case) formally releases the software, there are no guarantees as to what will be in the final release (a feature may get pulled or radically changed multiple times).

If you adapt your code to run well on the beta and perhaps use some cool new feature, you accept the risk that Apple may choose to remove or radically change that feature prior to release.

Large companies can afford that risk and often have a compelling financial reason to accept it - it's cheaper to pay some developers to ensure the code doesn't break in the beta version than to get caught off guard later.

As a student/beginner developer, you don't have to worry about what hundreds or thousands of users are trying to do. It's no big deal if your software remains incompatible with the latest release for a couple of weeks.

Furthermore, you have a choice - spend the time to ensure compatibility with beta code, or spend the time to improve your app.

The choice is up to you - what gives you the best return for your effort?

Put another way, the "best practices" of large companies may differ significantly from best practices of small companies or individuals.

0

While @DanPichelman's answer was excellent, I'd like to add that the primary reason I've seen folks accept the risk of developing against an unstable version is time to market. The faster you can get a quality product out, the more likely you are to gain market share. And so, many companies will take risks like that to do so.

That doesn't change his conclusion that as an amateur/hobbyist/small shop, you probably won't get a bunch of benefit.

The one thing you might consider a benefit, is of the Beta is pretty close to release, and your development time is long, it might be worth the relatively small risk of using new features in exchange for not having to rework later.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.