1

I have a macOS Mojave based Mac, and, for a project, I need to be able to target iOS 5.1 (iPad 1).

Xcode 10 doesn't ship build support for iOS 5.1, so I downloaded Xcode 4.3 from Apple's archives.

Xcode 4.3 isn't compatible with macOS Mojave, and from what I've been able to understand, it is with OS X Mountain Lion.

Without having to buy an old Mac (old enough to be based on OS X Mountain Lion), and without having to completely reinstall the OS, how can I compile for the iOS target 5.1, for an iPad 1?

  • Is Xcode 4.3 the last version which supported iOS5.1 as a target? At least according to en.wikipedia.org/wiki/… you should be able to use Xcode 5.1.1 (or even Xcode 6.4) which might run on more actual versions of macOS than ML. – nohillside Jul 8 at 14:46
  • Can’t you just download the support for the old target inside Xcode? This is usually the case - it doesn’t ship with simulators, etc for every version - but you can download them on demand inside Xcode. – jksoegaard Jul 8 at 16:41
  • @nohillside I'm gonna try that, I didn't search well enough and missed this info. Not a lot of hopes though. @ jksoegaard I'd like to do so, but I don't know if it is possible from within XCode, and if so, how. – Nyx Jul 8 at 16:58
  • @Nyx I just tried it in Xcode, and unfortunately the latest Xcode only allows downloading for iOS versions 8 and up. I have written what to do as an answer below. – jksoegaard Jul 8 at 17:42
  • XCode 6.4 isn't supported on Mojave either, I'll try on a more recent version. Maybe either XCode 7 or XCode 8 may be compatible. – Nyx Jul 8 at 19:03
3

The latest Xcode version that is documented by Apple to include the iOS 5 SDK is Xcode 4.3.3 for Lion. Apple doesn't document in the release notes whether it is also included in Xcode 4.4 and Xcode 4.4.1. However, by Xcode 4.5 it is definitely not included anymore.

The important thing to notice here is that you actually do not need to have the iOS 5 SDK in order to build an app for iOS 5. This means that you can build apps for iOS 5 with an Xcode that is newer, and doesn't as such include the iOS 5 SDK.

You do this by setting the deployment target of your project. Inside Xcode you click on your project (the blueprint icon), select the Info tab and then you have a drop-down named "iOS Deployment Target". You'll want to set it to 5.1.

With modern Xcode releases, you can download simulators, etc. directly from within the latest Xcode - however this only goes back to iOS 8 for Xcode 10. This also goes for the deployment target.

The end result is that you can use a much newer Xcode than Xcode 4.3, although not the latest Xcode 10 releases. You just need to remember to set your deployment target for the project!

1

Honestly, your best bet is to find a used Mac that can run Mountain Lion. It would likely be cheaper in time and $$ to go that route. The most recent Macs that can do that are 2007, 2008, 2009 models. I found a number of these systems on eBay for way under $100 bucks.

Failing that you might be able to get one of the virtualization packages (VMWare, VirtualBox, Parallels) to run that version of macOS.

I believe that virtualizing macOS on macOS is not something that is officially supported by any of the vendors who make that software but There are guides out there that may be able to help you virtualize macOS ON macOS with your virtualization platform of choice.

  • As I can't really afford to put 50+$ in a new computer that I'd only use for building/debugging, I'll try to find a decent macos Lion VM guide. It's really sad to be able to download XCode versions, but not their supported OS, or to have no compatibility mode. – Nyx Jul 8 at 15:06
  • 1
    macos VMs are supported by all the main ones, VMWare, Parallels and Virtual Box. Apple's EULA allows it for 10.7 onwards – user151019 Jul 8 at 15:11
  • Thx Mark, I have corrected my answer. – Steve Chambers Jul 8 at 15:59
  • Thanks for the heads up, but searching for setting up a Lion/Mountain Lion VM is a nightmare: almost all results points to how to make one on Windows/Linux, I haven't yet been able to find a serious one explaining how to do a MacOS Lion/Mountain Lion VM on a Mojave host. Would you happen to have a guide under hand? – Nyx Jul 8 at 16:25
  • I tried it once many years ago with Virtualbox. It is not terribly difficult as I remember. I don't know if there are resources here on AskDifferent but, if I recall correctly, the VirtualBox forums have the information you seek. I gather that VMWare/Parallels are faster but I've never needed for anything more than light duty "work." – Steve Chambers Jul 8 at 19:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .