Xcode / 模拟器:如何运行旧版 iOS?

192

我正在考虑升级到iOS SDK 4.2。但我想知道的是,如果我仍然可以将模拟器运行为iOS 3.2。这是因为我正在为iPad创建iAd广告,但我仍然想检查我的程序是否能在iOS 3.2上运行。

注意:我以前看过类似的帖子,但它们没有给出确切步骤,在如何完成此操作方面不是特别有帮助。


1
顺便说一下,在我安装SDK 4.2之前,我就问过这个问题了。我发现左侧的下拉菜单只提供旧版本。 - Shai UI
这里有一个非常有用的主题,特别是针对在OS X Lion上使用Xcode 4的用户:https://dev59.com/AGs05IYBdhLWcg3wFOC8 - Jan
11个回答

482

对于其他查找这个旧问题的人,现在你可以下载所有旧版本。

Xcode -> Preferences -> Components(点击模拟器标签)。

安装您想要/需要的所有版本。

显示所有已安装模拟器:

目标 -> 在下拉菜单“部署目标”中选择已安装版本,该版本具有最低版本号。

现在,您应该在下拉菜单中看到所有可用的模拟器。


你需要安装所有版本,还是只需要安装你需要的版本? - Aram Kocharyan
您可以自由选择您想要的版本。 - t.mikael.d
感谢点赞!问题是,原始的问题是针对旧版本的xCode,那时候还没有多版本管理功能。 - t.mikael.d
3
使用截至今日的最新Xcode版本5.1.1,在模拟器中只能使用版本6.1和7.1。(8.0为测试版) - t.mikael.d
3
@foreyez 实际上,现在应该接受这个答案。 - kevinSpaceyIsKeyserSöze
@t.mikael.d 感谢你的回答!这正是我在寻找的。 - Sandeep Yohans

76

XCODE 10.1

1. 进入 Xcode -> 首选项 (快捷键 CMD,)

2. 选择组件

3. 下载模拟器版本

图片描述

4. XCode -> 打开开发者工具 -> 模拟器。这将启动独立的模拟器应用程序。

5 硬件 -> 设备 -> 管理设备...

6. 点击 + 图标创建新的模拟器版本。

7. 指定模拟器名称、设备类型并从下拉列表中选择操作系统版本。

图片描述

8. 点击创建。

9. 硬件 -> 设备 -> iOS 11.0 -> iPhone 6

图片描述

图片描述

图片描述

就是这样,运行并享受编码吧!


1
这是目前最佳答案。谢谢。 - Nathan Hosselton
2
模拟器菜单在XCode11.4中已更改。现在是文件->打开设备->(所需OS)->(所需模拟器)。 - jameseronious
1
在xCode 12上根本没有显示版本,列表是空的:o。有人能够理解吗? - itMaxence
1
这是有关此问题的SO问题链接,以防2020年有人遇到此问题。 - itMaxence

30

Xcode 14:

Xcode -> 首选项 -> 平台

然后点击加号 输入图像描述


4
我没看到左下角的那个小加号图标!谢谢 ;) - Fred K
如何安装iOS 12模拟器?我在列表中找不到它们。 - Eric Yuan
@EricYuan 我有 Xcode 14.0.1,我列表中最旧的模拟器是 iOS 12.4。也许 Xcode 14 不支持比这更早的版本。如果您想运行较旧的模拟器,则可能需要使用旧版本的 Xcode。 - Eric Su
@EricSu 谢谢,我猜 Xcode 14.1 永远告别了基于12的模拟器。 - Eric Yuan
@EricYuan,你不必过于担心iOS 12,因为几乎没有设备再运行它了。 - Eric Su
显示剩余3条评论

24
如果你的二进制文件中使用了iAds,那么它将无法在iOS 4.0之前的设备上运行,并且如果你尝试提交这样的二进制文件,它将被拒绝。
你仍然可以在升级后从3.2版本开始运行模拟器。
在iPhone模拟器中,尝试选择“硬件”->“版本”->“3.2”。

iOS 3.0 不包含在 iOS 4.2 SDK 中,只支持 iOS 3.2+。 - Julio Gorgé
哦,抱歉,我正在使用4.1版本,在那里你可以将部署目标设置为3.0。 - ingh.am
在模拟器中:硬件 -> 版本 -> 3.2。我认为你也可以在构建设置中进行设置。 - ingh.am
ing0,我几乎可以肯定你可以像我为iPhone所做的那样弱化iads...谷歌“weak link iad”,有很多文章。 - Shai UI
我从未尝试过,祝你好运!模拟器中的设置正常吗? - ingh.am
显示剩余6条评论

14

打开 Xcode,在顶部菜单中点击 Xcode > 偏好设置 > 下载,您将有机会下载旧版 SDK 以供与 Xcode 使用。您还可以下载命令行工具和设备调试支持。

输入图像描述


2
问题是关于如何运行 - Piotr Aleksander Chmielowski

9
在XCode中,在Targets下,右键单击项目并选择Get Info。在Build选项卡下查找iOS Deployment Target。通过更改此设置,您应该能够测试不同的iOS版本。

3
您想知道如何模拟旧版本的iOS系统,而不是如何使应用程序在旧版iOS系统上运行。 - Shai UI
通过更改这个,XCode现在应该在左上角的下拉菜单中给你一个选项来运行旧版本的模拟器。你没有看到吗? - Steve
1
我在安装了iOS 4.0-4.1模拟器SDK的Xcode 4.2中尝试过这个,但是在左上角的下拉菜单中只显示了5,没有其他选项。 - Aram Kocharyan

9
我在寻找关于在比原问题中更新版本的Xcode上如何进行操作的方法,虽然这里的答案帮我找到了所需的位置,但现在它们对于位置的描述已经不太准确了。在Xcode 11.3.1中,您需要进入“偏好设置”->“组件”,然后选择所需的模拟器。您也可以从同一个窗口中选择tvOS和watchOS模拟器。
Components preference window from Xcode 11.3.1的图片请点击链接Components preference window from Xcode 11.3.1查看。

5
我已经完成了这个任务,他们已经被下载,但我仍然看不到在模拟器列表中运行它们的选项。 - StainlessSteelRat
1
@StainlessSteelRat,请检查您的部署目标。如果您的部署目标是iOS 13.0,则您将无法看到iOS 12.0或以下版本的下载模拟器。 - Shrikant Phadke

8
要将之前的iOS模拟器添加到Xcode 4.2中,您需要使用旧版xcode_3.2.6_and_ios_sdk_4.3.dmg(或类似版本)安装程序文件,并执行以下操作:
  • 挂载xcode_3.2.6_and_ios_sdk_4.3.dmg文件
  • 打开挂载磁盘映像并选择菜单:前往->前往文件夹...
  • 输入/Volumes/Xcode and iOS SDK/Packages/,然后单击“前往”。有许多包,请查找iPhoneSimulatorSDK(版本)。pkg
  • 双击要添加的软件包并等待安装程序显示。
  • 在安装程序中,单击“继续”并选择目标,选择文件夹...
  • 资源管理器显示并选择Developer文件夹,然后单击“选择”
  • 按需安装并重复此过程以添加其他模拟器。
  • 重新启动Xcode。

现在您已经列出了已安装的模拟器列表。


现在,在Xcode中可以选择iPad 3.2模拟器,但是模拟器却拒绝运行,并显示:"iOS找不到SDK。SDK可能需要重新安装"。 - brotherli
现在看来似乎只有这个可能的选择了,因为Xcode 4.2(我在一台运行Snow Leopard的旧电脑上安装了它,只是为了在将我的主要电脑升级到Mountain Lion后发现它无法运行iOS 4.2模拟器时能够重新获得模拟器)不知何故拒绝从下载页面下载iOS 4.2模拟器(尽管它在那里列出,但当您单击其下载按钮时,什么也不会发生,可能是因为苹果已经停止支持它)。有人使用这种方法取得了成功吗? - Clafou

8
Xcode(14.1版本)-> 设置 -> 平台 -> + 图标

enter image description here


2
在Xcode 3.2.5中选择旧的模拟器版本并不明显。较旧的Xcode在“基本SDK”构建设置弹出菜单中有“iOS设备SDK”和“iOS模拟器SDK”的独立列表,但在Xcode 3.2.5中,它们已被替换为一个仅提供4.2和“最新”选项的“iOS SDKs”列表。
如果您创建一个新的默认iOS项目,则默认情况下Base SDK和Deployment Target均为4.2,并且在项目左上角的“概述”弹出菜单中,仅提供4.2模拟器。
要运行旧的iOS模拟器,必须在“iOS Deployment Target”构建设置弹出菜单中选择旧的iOS版本。只有这样,“概述”弹出菜单才会提供旧的模拟器:iPhone回到4.0,iPad回到3.2。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接