Xcode 12.x添加iOS 10.x模拟器

背景

笔者昨天遇到个问题,有用户反馈在iOS 10.3.1的手机上,有个网页打开白屏。但是问题是笔者手头都没有10.x版本的手机,所以想安装模拟器来尝试复现。

然而,笔者发现电脑上的Xcode版本是12.5.1,已经不支持iOS 10.3.1的模拟器下载了。

步骤

下载iOS 10.3.1模拟器

然后笔者搜索后发现,Xcode 12.4还是支持下载iOS 10.3.1的模拟器的,于是去Xcode 下载网站,下载了Xcode 12.4,然后CMD + ,打开Xcode的偏好设置,在Components选项卡中,找到iOS 10.3.1 Simulator并下载,如下图。

添加iOS 10.3.1模拟器

通常添加模拟器,是选中Xcode,通过顶部菜单的Window -> Device and Simulators,选中Simulators,点击左下角的+,添加模拟器,如下图

会发现,即使下载了iOS 10.3.1模拟器,依旧不能添加,下载了却不能添加。

于是笔者接着查找,终于仅有的一篇真理文章在 Xcode 12 執行低版本的 iOS 模擬器蹦了出来,按照文章的说法是,模拟器runtime版本的Framework中map文件,里面设定各版本对应的Mac OS系统上限,所以会导致添加不了。

解决方法就是:修改模拟器的Info.plist中对应的CFBundleIdentifier,绕过map文件即可。

具體作法很簡單,關閉模擬器跟 Xcode,然後舉例來說我要強制執行 10.3 模擬器,就編輯 /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 10.3.simruntime/Contents/Info.plist,把 CFBundleIdentifier 從 com.apple.CoreSimulator.SimRuntime.iOS-10-3 改成 com.apple.CoreSimulator.SimRuntime.iOS-10-3-1,透過後面加一個 -1 的方式,把讓版本限制檢查的函數找不到該 bundle name,然後再打開 Xcode 就可以加入了!

笔者实践经验:

  1. 修改Plist可以拷贝出来修改后再拷贝进去替换
  2. 修改后确实可以添加10.3的模拟器,mac 11.4系统,可以正常运行操作。
  3. Mac 12.0 beta系统,即macOC Moterey,即使修改后添加成功了,也运行不了。

参考链接


Xcode 12.x添加iOS 10.x模拟器

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注