ChatGPT解决这个技术问题 Extra ChatGPT

Xcode/Simulator: How to run older iOS version?

I'm thinking of upgrading to iOS SDK 4.2. But what I'm wondering is if I'll still be able to run the simulator as iOS 3.2. This is because I'm creating iAds for iPad but I still want to check if my program will run with iOS 3.2.

Note: I have seen a similar post to this in the past, but they weren't really helpful in giving the exact steps in how this could be done.

btw, i asked this question before i actually installed sdk 4.2. and i found out that from the dropdown on the left side it simply gives you the old versions.
Here is a very helpful thread on this, especially for Xcode 4 users on OS X Lion: stackoverflow.com/questions/7459399/…

h
hippietrail

To anyone else who finds this older question, you can now download all old versions.

Xcode -> Preferences -> Components (Click on Simulators tab).

Install all the versions you want/need.

To show all installed simulators:

Target -> In dropdown "deployment target" choose the installed version with lowest version nr.

You should now see all your available simulators in the dropdown.


Do you have to install all versions, or just the ones you need?
You are free to choose the versions you want.
Thanks for the upvote - the thing is, the original question is for the old versions of xCode where the multi-version management where not available.
Using the latest Xcode as of today 5.1.1 - there is now only version 6.1 and 7.1 to use in the Simulator. (8.0 is in Beta)
@foreyez Actually this should now be the accepted answer.
A
Ashok R

XCODE 10.1

1. Goto Xcode -> Preferences (Shortcut CMD,)

2. Select Components

3. Download Simulator version

https://i.stack.imgur.com/SxXgo.png

4. XCode -> Open Developer Tool -> Simulator This will launch Simulator as stand alone application

5 Hardware -> Device -> Manage Devices...

6. Click on + iCon to create new simulator version.

7. Specify Simulator Name, Device Type and Choose OS version from drop down.

https://i.stack.imgur.com/JcVaK.png

8. Click Create.

9. Hardware -> Device -> iOS 11.0 -> iPhone 6

https://i.stack.imgur.com/uGc2V.png

https://i.stack.imgur.com/uoQq7.png

https://i.stack.imgur.com/X4fFk.png

Thats it run enjoy coding!


This is the current best answer. Thanks.
The simulator menu has changed in XCode 11.4. It is now File -> Open Device -> (desired OS) -> (desired simulator)
On xCode 12 there is no version shown at all, the list is empty :o . Is there someone that can relate?
Annnd, here is the SO question about it in case someone comes by in 2k20
i
ingh.am

If you have iAds in your binary you will not be able to run it on anything before iOS 4.0 and it will be rejected if you try and submit a binary like this.

You can still run the simulator from 3.2 onwards after upgrading.

In the iPhone Simulator try selecting Hardware -> Version -> 3.2


iOS 3.0 is not included in the iOS 4.2 SDK, only iOS 3.2+.
Oh sorry, i'm running on 4.1 where you can set the deployment target to 3.0.
Julio 3.2 is good enough, but how will I run the simulator as iOS 3.2 (for iPad), doesn't it only give me an option for 4.2?
As for weak linking, will this still install on an older device? I tried a while ago and came to the conclusion (as well as others) that if you want iAds, you need to be 4.0 minimum.
In Simulator: Hardware -> Version -> 3.2. I think you can also set this in your build settings.
m
mikemaccana

Open xcode and in the top menu go to xcode > Preferences > Downloads and you will be given the option to download old sdks to use with xcode. You can also download command line tools and Device Debugging Support.

https://i.stack.imgur.com/wNrbE.png


The question was about how to run.
S
Steve

In XCode under Targets, right-click on your project and Get Info. Under the Build tab look for iOS Deployment Target. By changing this you should be able to test different iOS version.

https://i.stack.imgur.com/Jj3Oa.png


note: this answer is how to make it possible to run app on an older version of iOS. but I wanted to know how to simulate an older version.
By changing this, XCode should give you an option now to run the Simulator in an older version on the upper left drop down. Are you not seeing that?
I tried this in Xcode 4.2 with the iOS 4.0-4.1 simulator SDK installed, not bringing up anything but 5 in the top left dropdown...
N
N.W

I was searching for how to do this on a much newer version of xcode than the original question and while the answers here got me where I needed to go, they aren't quite accurate for location anymore. Xcode 11.3.1, you need to go into Preferences -> Components, then select the desired Simulators. You can also select tvOS and watchOS similators from the same window.

https://i.stack.imgur.com/7CxWo.png


I've done this, they've downloaded, but I still don't see the option to run them from the simulators list.
@StainlessSteelRat. check your deployment target. If your deployment target is iOS 13.0 then you will not see the downloaded simulator of iOS 12.0 or the below versions.
h
hieund

To add previous iOS simulator to Xcode 4.2, you need old xcode_3.2.6_and_ios_sdk_4.3.dmg (or similar version) installer file and do as following:

Mount the xcode_3.2.6_and_ios_sdk_4.3.dmg file

Open mounting disk image and choose menu: Go->Go to Folder...

Type /Volumes/Xcode and iOS SDK/Packages/ then click Go. There are many packages and find to iPhoneSimulatorSDK(version).pkg

Double click to install package you want to add and wait for installer displays.

In Installer click Continue and choose destination, Choose folder...

Explorer shows and select Developer folder and click Choose

Install and repeat with other simulator as you need.

Restart Xcode.

Now there are a list of your installed simulator.


iPad 3.2 Simulator is now available for selection in Xcode but the simulator refuses to run with it: "iOS could not find the SDK. The SDK may need to be reinstalled".
Sounds like the only possible option left now that Xcode 4.2 (which I installed on an older computer running Snow Leopard just so that I could get back the simulator after upgrading my main computer to Mountain Lion and discovering that it cannot run iOS 4.2 simulator) somehow refuses to download iOS 4.2 Simulator from the Downloads page (although it lists it there, nothing happens when you click its download button, possibly because Apple pulled the plug on it). Has anyone got any success using this method?
S
SteveCaine

Choosing older simulator versions is not obvious in Xcode 3.2.5. Older Xcodes had separate lists of "iOS Device SDKs" and "iOS Simulator SDKs" in the "Base SDK" build setting popup menu, but in Xcode 3.2.5 these have been replaced with a single "iOS SDKs" list that only offers 4.2 and "latest".

If you create a new default iOS project, it defaults to 4.2 for both Base SDK and Deployment Target, and in the "Overview" popup in the project's top-left corner, only the 4.2 Simulator is available.

To run an older iOS simulator, you must choose an older iOS version in the "iOS Deployment Target" build setting popup. Only then will the "Overview" popup offer older Simulators: back to 4.0 for iPhone and to 3.2 for iPad.


F
Freeman

The simulator CANNOT be downloaded from:

Xcode -> Preferences -> Downloads

Only the iOS devices symbols. As this option says:

This package includes information and symbols that Xcode needs for debugging your app on iOS devices running versions of iOS prior to iOS 4.2. If you intend to debug your app on a device running one of these versions of iOS you should install this package.

That is, you need an iOS 4.2 device to test an iOS 4.2 application


Hmm. My XCode 4.2 says download "iOS 4.3 Simulator". Isn't that the simulator!? :-)
Mine says the same thing, "iOS 4.3 Simulator" (plus two device debug downloads). However, none of these downloads do a thing. I press install and any/all of them just sit there at 0% not downloading a thing. I left the Mac alone for a whole day and it was still just sitting there at 0% doing nothing.
-1. This definitely does work, and does download the actual simulator.