I want to install the 3.0 iPhone simulator on my Xcode 4.0.2 installation. Is there a way to do this?

I want to test my app against 3.0 to make sure it runs correctly (due to some changes in UIScrollView mainly), but I don't have access to any device with 3.0. I know that the simulator != the device, but testing against the 3.0 simulator is better than nothing.

  • What you have to do is Install the correct SDK and test against that or, install Xcode 3.x which comes with all that and even the 3.x Look and Feel. – Martin Marconcini May 14 '11 at 14:20
  • I have both Xcode 4.0.2. and Xcode 3.2.5, each installed in a separate folder. However, from Xcode 3.2.5 I can only run the iPhone simulator on versions 4.0, 4.1 and 4.2. No earlier versions are available (apart from the iPad 3.2 one). – Ricardo Sanchez-Saez May 14 '11 at 15:30
  • that's odd… i'll check tomorrow with mine. – Martin Marconcini May 15 '11 at 1:47

Xcode, the iOS SDK and the Simulator come bundled together in one installer because they share libraries and other stuff in the Developer folder. Mismatched combinations probably won't work. Even if you somehow manage to install the 3.0 Simulator with your current Xcode+SDK installation, it would probably crash.

So you need to find a complete installer for an old iPhone OS 3.0 SDK with Xcode 3.x, and install with that on a Mac that to get a working iPhone OS 3.0 Simulator. You may or may not be able to get an SDK/Xcode combination that old that runs on OS X 10.6 Snow Leopard, so you may need to find an older Mac that can boot into OS X 10.5 Leopard as well.


Anyway, a developer should only be supporting 3.0 devices by actually having one around on which to test their app, before setting the Deployment Target that low when submitting an app for live customers use. Customers are not supposed to be some test dummies for random developers.

Just test apps on the oldest, lowest OS version, device you can find (beg, borrow, buy used and dented, drive across town), and use that as your Deployment Target. If you can't find a device that old, neither can the vast majority of the customers for your app.

| improve this answer | |
  • 1
    Thanks for the answer, but it's not really useful. We plan to test the code on actual 3.x devices before releasing, but want to be able to test in the 3.x simulator while we get access to the devices in order to speed up development. Installing Xcode 3.x won't help because the project won't compile on Xcode 3.x with 3.x SDKs due to missing classes. It compiles on Xcode 4 (4.x SDKs setting 3.0 as the target), and we are able to run it on 3.x devices this way, but we have not been able to run it in the 3.x simulators for now. – Ricardo Sanchez-Saez May 16 '11 at 16:10
  • More info: I managed to install Xcode 3.2.1, which includes SDKs 3.0 to 3.1.3, but the project won't compile on these SDKs – Ricardo Sanchez-Saez May 16 '11 at 16:18
  • I haven't been able to make run 3.0 to 3.1.3 simulators on Xcode 4 (I tried installing the simulator PKGs on the Xcode 4 folder, the simulator appears on the schemes menu, but I doesn't run). – Ricardo Sanchez-Saez May 16 '11 at 16:24
  • 1
    On Xcode 4.2, you have an option to install simulators that are older than 5.0 (in the Preferences -> Downloads -> Components pane), but only 4.3 is available. – Ricardo Sanchez-Saez Dec 4 '11 at 2:14

Install the old version of Xcode, do a clean, set it to the old iOS build target (say iOS 4.2) and build it. I am using 3.2.5 and managed to actually find a few limitations in iOS 4.2 that 5.0 was happy with. You can download old Xcode and Simulator versions here: http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html. But, you need to have install the old Xcode + SDK to use the old iOS in the simulator.

| improve this answer | |

You must log in to answer this question.

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