How to test app on old iOS/macOS version for backward compatibility?

Hi everyone,

I've submitted an macOS app to review, but rejected by Apple because of a bug on macOS 10.10.5. How can I test my app on old macOS version for backward compatibility?

There seems no official way to download an old macOS version. Even there is, it is an annoying work to install all versions of old macOS and test it. How do you guys deal with this issue? Thanks 🙂

Accepted Reply

If you downloaded older OS versions from the Mac App Store in the past, you can redownload them by going to the Mac App Store and clicking the Purchased button. You can also find older OS versions on Apple's developer site (developer.apple.com). Click the Downloads link at the bottom of the page. It's in the Develop column of links.


If you find supporting old OS versions annoying, drop 10.10 support. Many developers officially support only the latest OS version (currently 10.12) and the previous version (currently 10.11). Anyone running 10.10 can upgrade to 10.11 or 10.12 for free.

Replies

I don't know about MacOS but you can download simulators for past iOS versions. That's a pretty good way to check for ***** incompatibility issues.

Use virtualization software like Virtual Box, Parallels, or VMWare Fusion. Virtualization software lets you run other operating systems in virtual machines. Create a virtual machine for each old OS you want to test. Run the virtual machine and test your app in it.

That's a way, but even an iOS simulator can't test all features of an App, such as Camera.

That's also a way. But as I mentioned above, "There seems no official way to download an old macOS version. Even there is, it is an annoying work to install all versions of old macOS and test it." Or maybe you know an official way to download?

If you downloaded older OS versions from the Mac App Store in the past, you can redownload them by going to the Mac App Store and clicking the Purchased button. You can also find older OS versions on Apple's developer site (developer.apple.com). Click the Downloads link at the bottom of the page. It's in the Develop column of links.


If you find supporting old OS versions annoying, drop 10.10 support. Many developers officially support only the latest OS version (currently 10.12) and the previous version (currently 10.11). Anyone running 10.10 can upgrade to 10.11 or 10.12 for free.

> You can also find older OS versions on Apple's developer site (developer.apple.com).


The dev downloads are updaters, not full versions, I believe, and as such are not much help in the OP's example - where the option, instead, is to source physical copies/discs via 3rd parties.


+1 on dropping older support 😉

Post not yet marked as solved Up vote reply of KMT Down vote reply of KMT

This helps. Thanks! So I am dropping older version support. 🙂

I can't see Sierra and High Sierra in my hustory. How can we solve this issue for our quality amangement for compatibility testing?

Go to build settings in Xcode and add the following in other linker flags. -Wpartial-availability. This will flag any API call as a warning when it's not available on an older macOS version. Another tip is actually developing on the minimum macOS version you're still supporting and keeping the code base in Objective-C. There are some precompiled directives that deal with compiling against different SDK versions with the same code base. So you can actually debug your code on different versions.