Apple regularly provides platform updates to add new features, fix bugs, and continue to improve the experience for everyone who uses our products. As part of that process, we provide developer beta software and a Public Beta Software Program. It allows developers to test apps for upcoming software, address annoying bugs, and provide technical teams with information about upcoming software changes and improvements.
While we encourage people to install only beta software on a secondary device, you may still find that some of your customers want to use your app while using a beta of an operating system. Here are some ways to ensure the stability of your app for those people, get feedback from them and give your own tech teams to Apple.
Test early, test often
When new beta software is released, we recommend downloading it as soon as possible to test with your existing apps. Not only is it an opportunity to keep your app running smoothly, but it also allows you to experiment with our latest APIs and features.
The sooner you test, the sooner you can identify potential bugs or problems and flag them for Apple technicians. It is also the best opportunity to record feedback on new features and influence future operating system updates.
Triage the problems
Sometimes changes to an API or operating system updates in an early beta can seriously affect your app. This is never a great feeling, but don’t panic! Chances are, many of your co-developers are in the same boat. Do a little triage first to identify the problem. Is this a system problem or a latent bug in your own code?
To troubleshoot, isolate your problem by creating a minimally reproducible case in a new Xcode project. When you focus only on the code causing the bug, the problem is often easier to find – and this also gives you a smaller project that you can share with others to troubleshoot or add to a bug report.
If you find that the beta has revealed an existing bug in your code, you may be able to fix it immediately and provide an update that will make your app more stable for both those in production and those using beta software.
Sometimes you may be able to isolate the code so that you can reproduce the problem on shipping software. If so, and you need help resolving it, submit a technical support incident for code-level support.
If there’s a problem with the beta itself that prevents you from providing a solution, it’s time to submit some feedback. Even if you think others have submitted this bug before, you should always submit a report: Your reproduction steps and data could be the key that unlocks the problem or takes the problem to a higher level of priority.
How to submit great bug reports
Amid all the work you already do on your app, you may be tempted to post a general statement on your website or in your app that you don’t support people using beta software. We strongly discourage this approach: Your customers may be co-developers or may need to use beta software for some other reason and if you stop them from running your app, they may feel left out or lose confidence in your software. Instead, if you run into a serious issue in a beta that could create an underperforming experience that you haven’t been able to cover in an update, consider sharing your issue on your website and social media channels as well as the steps you take to to deal with.
While people who use beta software on their devices can’t leave reviews for your app on the App Store, they can still have valuable feedback for you. Consider creating an easy way for your customers to provide bug reports – they might find something you missed!
Connect with the community
Are you struggling to fix an issue caused by a beta update? Consider reaching out to our wider developer community and posting on the Apple Developer Forums. Your question may help others who may be facing similar challenges.
Explore the Apple Developer forums
Future-proof your app
Outside of the beta release cycle, it’s worth checking out your project and the server-side code you’re maintaining to see if there are ways to improve and future-proof your app.
- Can you fix or remove any additional warnings in your Xcode project?
- Do you have any code that depends on a specific OS version or outdated API that you update or make OS agnostic?
- Are you using third-party frameworks that rely on outdated code?
- Can you improve your app’s error handling to continue smoothly on unexpected issues?
Beta software downloads