apparent Obsolescence in Apple Xcode and Swift [closed]

am desperately trying to develop in Xcode, Swift, and particularly SwiftUI.

have perfectly good (and incredibly expensive) Apple hardware that is now about 8 to 10 years old.

apparently this means i cannot upgrade the operating system past 10.15.7 (Catalina)

and apparently this means i cannot upgrade Xcode past 11.4

which leaves me with Swift 5.2

which apparently leaves me in Apple's dust, where many parts of Xcode and Swift - and particularly SwiftUI - are immature at best, and hopelessly incomplete, in my position.

it cannot be possible that Apple expects me to replace thousands of dollars in hardware just to get menus (for example) to work, surely?

and yet, according to https://developer.apple.com/documentation/swiftui/menu, i need OS 11.0 or better, for this feature.

what am i not understanding?

how do i get there from here?


Solution 1:

You seem to have a good understanding.

Yes, it is common for Apple (and many other companies) to only support their software on hardware that is relatively recent. The successor to macOS Catalina is macOS Big Sur, which supports the Pro Macs that date back to 2013.

If you have a 2012 or earlier model when writing software for 2022, it does seem reasonable to think about upgrading the hardware.

If you haven't got the option of upgrading your hardware, you could look into one of the various patchers available that makes it possible to install Big Sur on even older hardware. As a developer, I wouldn't advise doing so though, as you can't really be sure if issues you run into are caused by your unsupported setup or bugs in your code.

Another possibility is to run Big Sur in a virtual machine on your Catalina Mac. That doesn't require any patchers, but comes with it own set of drawbacks. Most notably, on a 10 year old Mac it will probably be a bit slow.

Yes, various Xcode version requires various operating system versions. The reasoning here is that if you're writing software that requires new OS feature, then the developer needs to be running such a new operating system in order to actually run the software.

For professional software developers in most parts of the world, a cost of a few thousand dollars in hardware depreciated over 10 years is really not a big deal. I.e.

Finally, no it is not so that getting menus to work requires you to spend thousands of dollars on hardware. Only getting menus to work using that one specific method requires you to have Big Sur. You can get menus working in Swift applications in many other ways that won't require Big Sur. Note that you have lots of applications running on Catalina (and older) that have menus - so it's not impossible.