Xcode 12.x下载了iOS10.x模拟器无法创建对应Device问题修复
转自:
https://hiraku.tw/2021/04/6428/
感谢原作者,如有侵权请评论联系删除文章
在升級到 Xcode 12 之後,有些人發現雖然 Xcode 允許安裝低版本的模擬器,但卻怎樣都無法新增該版本的模擬器裝置。詳細的文章內容可以參考這裡。
實際上 Xcode 12 官方支援的最低版本為 iOS 11.4 的模擬器,如果沒有特別需求的話,我們從 Xcode 安裝 11.4 的模擬器就可以正常使用了。
但,若我因為某些原因,就是想安裝 11.3,甚至更低版本的 10.3.1 模擬器,該怎麼辦呢?
這時候就要用神奇的修改方式來繞過檢查啦~
首先,透過逆向工程得知,/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator 是實際上在設定模擬器 runtime 版本上限的 Framework。根據偷看的結果,發現裡面寫死了一個 map,裡面包含各個版本對應的 macOS 系統上限。在這邊有兩個作法繞過,第一個就是直接 hook 或修改 binary,使得 Framework 不檢查版本限制,但這樣太麻煩了,我們用簡單一點的方法:把 runtime 改到不在限制列表當中即可。
具體作法很簡單,關閉模擬器跟 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 就可以加入了!
PS: 此方法最低可正常 debug 版本經測試為 iOS 10.x(我只測試 10.3),iOS 9.3 雖然可以執行模擬器,但是無法掛載 App 以及進行 debug。iOS 8 模擬器則是會直接造成電腦 kernal panic 重開機。
Xcode 12.x下载了iOS10.x模拟器无法创建对应Device问题修复的更多相关文章
- Apple Xcode 12.5 (12E262) 正式版发布 - 构建 Universal App
请访问原文链接:https://sysin.org/article/apple-xcode-12/,查看最新版.转载请保留出处. Xcode 12 简介 Xcode 12 采用全新设计,在 macOS ...
- Quartus II 12.0 下载、安装和破解
转载:http://www.cnblogs.com/imapla/archive/2012/09/10/2678814.html 20130417 Quartus II 12.0 不支持波形仿真,推荐 ...
- Xcode版本太低引发的bug,xcode各种版本下载方式详解
问题描述: mac系统10.9.5 .之前用的xcode 是5.1.接sdk时,一直报错,编译不过去.最后发现原因是xcode版本太低导致的. 于是去网上找xcode历史版本下载.因为系统版本原因,我 ...
- TortoiseGit2.12.0-64下载和安装【Windows10】
TortoiseGit2.12.0-64下载和安装[Windows10] 下载 下载地址:https://tortoisegit.org/download/ 找到合适自己版本的点击后会自动下载 安装 ...
- Xcode全系列下载地址
Xcode全系列下载地址,不断更新dmg 格式 下载链接:http://pan.baidu.com/s/1mgyxLP2
- [Mac]Mac Xcode 删除已经下载好的模拟器版本
Delete simulator refences for xCode: Delete the particular simulator runtime references (*.simruntim ...
- Xcode iOS9.3 配置包 iOS10.0 配置包 iOS10.2 配置包 could not find developer disk image
在Finder状态下前往目录.快捷键:shift+command+G,填写路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS ...
- Xcode 各个版本下载地址
从Xcode8开始不支持uiautomation了,需要下载老版本的xcode Xcode 的各种版本的下载地址 https://developer.apple.com/download/more/
- iOS开发之用Xcode 在真机上截屏与模拟器截屏
一.真机截屏 1.打开Xcode 6 2.在xcode 选择模拟器或者真机设备的地方选中你的真机 3.Debug-->View Debugging-->Take Screenshot of ...
- 我超级推荐的Navicat Premium 12的下载,破解方法
今天给大家推荐一款炒鸡好用的数据库管理工具,使用它,可以很方便的连接各种主流数据库软件----Navicat Premium 12 但是,它是要钱的,不过我们可以使用破解机来破解它,步骤稍有些复杂,简 ...
随机推荐
- Symbol详解
Symbol Symbol是es6引入的一个新的原始数据类型,是一个独一无二的值. 目前为止,js的数据类型有以下几种: 数据类型 说明 undefined undefined null null b ...
- JZOJ 1073. 【GDOI2005】山海经
\(\text{Solution}\) 非常经典的求区间最大字段和 不难想到线段树,考虑处理区间答案的合并 维护前缀后缀最大和与区间答案,合并考虑跨中点贡献即可 代码打得非常恶心... \(\text ...
- ElasticSearch7.6入门
笔记记录 B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq 一.ElasticSearch概述 官网:http ...
- IP地址后面/24/26/27/28/29/30网关数量分别是多少?如何计算?
转载csdn: https://blog.csdn.net/jinfengyunIDC/article/details/112575286
- 02#Web 实战:实现树形控件
前言 这是一篇个人练习 Web 前端各种常见的控件.组件的实战系列文章.本篇文章将介绍个人通过 JQuery + 无序列表 + CSS 动画完成一个简易的树形控件. 最终实现的效果是: 这样结构比较复 ...
- 初始化安装后 Nacos 动态路由配置不生效
一.问题描述 1.每次初始化安装整套项目,包括安装 Nacos 和其他服务还有mysql,redis等其他中间件,安装后 Nacos 获取不到 nacos 路由信息(包括后续新写入动态路由配置)!只有 ...
- Linux如何查看实时滚动日志
Linux有多种方法可以查看实时滚动日志.最常用的方法是使用tail命令,它可以显示一个文件的最后几行,并且可以跟踪文件的变化.例如,你可以输入tail -f /var/log/syslog来查看系统 ...
- Docker安装和基础命令
每个优秀的人,背后都有一段沉默的时光 前言 学习Docker基础知识 安装 docker常见的有3种安装方式,yum.rpm包.脚本. 我们采用相对简单但对各种环境比较友好的方式:(关防火墙和seli ...
- Android获取获取悬浮窗一下的view办法
getwindows可以获取当前手机屏幕所有有交互功能的view getactitywindows只能获取最顶层有交互的view
- element ui 浏览器表单自动填充默认样式
::v-deep .el-input__inner { -webkit-text-fill-color: #000000; caret-color: #0a0a0a; box- ...