The other evening, in the wake of a bit of nostalgia, I tested running an emulator project on an iPhone 5 simulator running iOS 10.3 in Xcode 11 (more on that in a future podcast episode).
It surprised me at the time—but it probably shouldn’t have—that I got the notorious “‘App Name’ has not been optimized for your Mac and needs to be updated.” alert box. In retrospect, this makes sense because iPhone 5 is a 32-bit device, and therefore so would its simulator counterpart. macOS Catalina doesn’t allow any 32-bit apps to run, so presumably we would have to resort to using the iPhone 5s simulator (or higher), otherwise we would see the “‘App Name’ needs to be updated.” message, and the simulator just would not run. I am not running Catalina yet, but when I upgrade I’ll definitely test this out to see if it’s a problem.
This finding will probably is not be a big issue for me, personally. I’m usually testing on newer iOS versions, with newer hardware and simulators. However, I can see where it would be helpful (or even necessary) to run an emulator that mirrored a particular user’s hardware for an older version of iOS.
Therefore, if you think that you might need to support older phones and older versions of iOS, then you may want to think twice about upgrading to Catalina, or perhaps have a machine or separate volume that boots into Mojave or High Sierra, just to be safe.