我正在运行最初仅支持 iOS 5.1 的 Xcode 4.3.1 iOS-Simulator。
我需要使用 iOS 4.3 测试我的代码,所以我使用 Xcode 的“安装”功能来安装它,如 "Installing Xcode with iOS 4.3 device simulator?" 中所述
现在我完成了测试,但找不到卸载 4.3 部分(“iPhone 4.3 Simulator”和“iPad 4.3 Simulator”)的方法。我想减少方案菜单中的混乱。
Apple 的 Xcode listserv 上没有人知道答案!
编辑:请注意,自 Xcode 4.3 以来发生了很大变化,因此建议任何阅读本文的人查看所有答案。最新的,如史蒂夫莫泽的可能对你更有用!
编辑 10/2017:由 Julio Carrettoni 在 Twitter 上发布
如果您是 iOS 开发人员,请执行以下命令: $ xcrun simctl delete 不可用 它会删除 Xcode 不再使用的旧模拟器。对我来说是 6Gb 自己没有尝试过......
[另外,我刚刚看到 Russ Bishop 在下面的评论中提到了这一点......]
在 Xcode 6+ 中,您只需转到 Menu > Window > Devices > Simulators 并删除不需要的模拟器。
2020 年 10 月更新
如前所述,您可以使用 xcrun
做一些事情:
xcrun simctl list devices 或 xcrun simctl list --json 列出所有模拟器
xcrun simctl delete
xcrun simctl delete 无法删除不再支持的运行时的旧设备
您可以使用 xcrun
执行更多操作(请参阅代码片段)
`xcrun simctl boot
原始答案
2017 年 9 月,Xcode 9
运行时
你会在这里找到它们:
/Library/Developer/CoreSimulator/Profiles/Runtimes
https://i.stack.imgur.com/P7E9C.png
设备
要删除设备,请访问此处:
~/Library/Developer/CoreSimulator/Devices
https://i.stack.imgur.com/84SuT.png
帮助 Xcode “忘记”运行时并防止重新安装它们 - 在此处删除 .dmg 文件:
~/Library/Caches/com.apple.dt.Xcode/Downloads
我希望它会帮助某人🙂
xcrun simctl delete <device udid>
。您还可以运行 xcrun simctl delete unavailable
来删除不再支持的运行时的旧设备。
您是否尝试从 Xcode 包中删除 4.3 SDK?
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
请同时删除相应的.dmg文件
~/Library/Caches/com.apple.dt.Xcode/Downloads
再次prevent Xcode from re-installing同一个包。
对于 XCode >= 6,请参阅 @praveen-matanam 's answer
在 Xcode 6 及更高版本中,您可以从路径 /Library/Developer/CoreSimulator/Profiles/Runtimes
中找到并删除模拟器。重新启动 Xcode 以使其生效(可能不需要)。
.simruntime
文件
~/Library/Developer/...
在终端中运行此命令以删除无法从您机器上使用的当前版本的 Xcode(8+?)中访问的模拟器。
xcrun simctl delete unavailable
此外,如果您要回收与模拟器相关的空间,Michael Tsai 发现删除 sim 日志为他节省了 30 GB。
~/Library/Logs/CoreSimulator
如果您只是删除 SDK,Xcode 4.6 将提示您重新安装任何旧版本的 iOS 模拟器。为避免这种情况,您还必须删除 Xcode 缓存。这样您就不会被迫在启动时重新安装旧版 SDK。
要删除 iOS 5.0 模拟器,请删除这些,然后重新启动 Xcode:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/PhoneSimulator5.0.sdk ~/Library/Caches/com.apple.dt.Xcode
例如,在全新安装 Xcode 后,我从 Xcode 首选项安装了 iOS 5.0 模拟器。后来我觉得5.1就够了,但是5.0版本又删不掉了。 Xcode 一直强迫我在启动时重新安装它。删除缓存文件和SDK后,不再询问。
我有同样的问题。我的空间快用完了。
删除旧的设备模拟器没有帮助。
我的空间问题是由 xCode 引起的。自从我安装 xCode 以来,它在我的 macOS 上保留了每个 iOS 版本的副本。
删除您不想要的 iOS 版本并释放磁盘空间。我节省了 50GB 以上的空间。
https://i.stack.imgur.com/61mIy.png
注意 ->您看不到 Finder
内的 ~/Library
吗?默认情况下它是隐藏的。使用 Terminal
并输入 cd ~/Library/Developer/Xcode/iOS\ DeviceSupport/
或 google 如何查看隐藏文件夹。
注意 -> 如果您在一台 macOS 机器上有多个用户,请确保仅使用最初安装 xCode 的用户帐户查找目录。
xcrun simctl delete unavailable
,但这并没有删除实际的 iOS 版本。感谢您的提示,该文件夹中有一堆旧的/中间的!顺便说一句,应用商店中有一个名为“DevCleaner”的应用,它列出了所有内容,还可以删除特定的内容(包括旧日志和档案)。
https://i.stack.imgur.com/DQdqA.png
但是,cd ~/Library/Developer/Xcode/iOS\ DeviceSupport
和运行 du -sh *
我得到了所有这些人:
2.9G 10.0.1 (14A403)
1.3G 10.1.1 (14B100)
2.9G 10.3.2 (14F89)
1.3G 10.3.3 (14G60)
1.9G 11.0.1 (15A402)
1.9G 11.0.3 (15A432)
2.0G 11.1.2 (15B202)
2.0G 11.2 (15C114)
2.0G 11.2.1 (15C153)
2.0G 11.2.2 (15C202)
2.0G 11.2.6 (15D100)
2.0G 11.4 (15F79)
2.0G 11.4.1 (15G77)
2.3G 12.0 (16A366)
2.3G 12.0.1 (16A404)
2.3G 12.1 (16B92)
总共有 33 GB!
一场血浴随之而来
查看更多详情here
2022 年更新
我们可以只使用存储管理工具:⌘ + 空格键和搜索存储。
在开发人员下:您可以找到 Xcode 缓存和构建文件以及可以删除的旧版本 iOS 支持文件。
https://i.stack.imgur.com/diMew.png
在 macOS Big Sur 和 Monterey 上测试
除了@childno.de 答案,你的 Mac 目录
/private/var/db/receipts/
可能仍包含过时的 iPhoneSimulatorSDK .bom
和 .plist
文件,如下所示:
/private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.bom /private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.plist
这些可能会使您的 Xcode 首选项的“下载”选项卡显示该过时模拟器版本的勾号 (√
)。
要清除不需要的模拟器,您可以使用 Mac 终端中的 bash 命令进行搜索:
sudo find / -name "*PhoneSimulator*"
然后到对应目录手动删除不需要的 SimulatorSDK
在 XCode 中打开 Window - Devices,然后选择并删除过时的模拟器。
我写了一行 bash 脚本,它会删除你所有的模拟器:
xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 xcrun simctl delete
xcrun simctl list devices 将列出您机器上安装的所有模拟器
grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" 将抓取设备 UUID
xargs -L1 xcrun simctl delete 将尝试删除它找到的每个 UUID 的设备
如果您想查看它将执行的所有内容,可以在 xcrun
之前添加 echo
,即
xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 echo xcrun simctl delete
有些人尝试使用一种方法修复它,有些人尝试使用第二种方法。基本上,有 2 个问题,如果你检查它们并解决这两个问题 - 99% 应该解决这个问题:
旧设备模拟器位于 YOUR_MAC_NAME(例如 Macintosh)-> Users -> YOUR_USERNAME (daniel) -> Library -> Developer -> Xcode -> iOS Device Support。留在那里,最新的,截至今天这是 13.2.3 (17B111),但将来它会改变。 iOS 版本的最高数字(此处为 13.2.3)表示它较新。在此之后,通过运行 xcrun simctl list devices 在终端中列出您的设备。其中许多可能不可用,因此通过运行 xcrun simctl delete 不可用来删除它们。它也会释放一些空间。为确保一切正常,通过运行 xcrun simctl list devices 再次检查。您应该只能看到最新版本(此处为 13.2.3)的设备,如下面的屏幕截图所示。
https://i.stack.imgur.com/XlLMO.png
作为奖励,与此问题的相关性稍差,但仍有一些空间。转到 YOUR_MAC_NAME
(例如 Macintosh
)-> Users
-> YOUR_USERNAME
(例如 daniel
)-> Library
-> Developer
-> Xcode
-> Archives
。您会看到许多已归档的已部署应用程序,很可能您并不需要所有这些应用程序。尝试删除这些不再使用的。
使用这 2 种方法和奖励方法,我能够在我的 Mac 上获得额外的 15 GB 空间。
PS。只需转到 Xcode
-> 从 Xcode 中删除模拟器Window
-> Devices and Simulators
-> Simulators
(或使用键盘快捷键时只需 CMD
+ SHIFT
+ 2
)并在那里删除它不会有帮助。您确实需要执行所描述的步骤。
您可以做的另一件事是将部署目标更改为最高值。这将阻止方案菜单显示旧版本。
为此,请转到:Target->Summary,然后更改部署目标。
我尝试了所有答案。他们都没有为我工作。
在 Sierra + Xcode 8.2 上对我有用的是:
/Library/Developer/CoreSimulator/Devices
并删除所有设备。
(也许这对你不起作用,也许这个 is 是一个独立的解决方案,或者除了其他答案之外你还必须这样做,但我在这里做了所有解决方案,所以不确定是什么做了这件事)。请注意,这里的一些答案是旧的,并且模拟器的位置已经改变。 Snowcrash's answer 似乎是最新的。
~/Library/Developer/CoreSimulator/Devices
。
这些答案的问题在于,每次 Xcode 更新时,菜单和位置都会改变。
只需转到 /Applications/Xcode.app/Contents/Developer/Platforms
并删除您不需要的内容。 Xcode 将开始正常。如果您完全担心,那么您可以简单地从垃圾箱中恢复。
打开 Xcode --> Go to Window (from menu bar) --> Devices and Simulators --> 单击 Simulator --> 右键单击要删除的模拟器 --> 单击 Delete 删除任何不需要的模拟器您过去通过 Xcode 作为额外组件安装。
打开终端
键入打开 /Library/Developer/CoreSimulator/Profiles/Runtimes
删除不需要的模拟器
在 Mac 上,检查 /Library/Developer/Xcode/iOS\ DeviceSupport
https://i.stack.imgur.com/lPASj.png
/Library/Developer/CoreSimulator/Profiles
您可以使用以下代码段删除不可用的运行时:
echo "rm -rf $(xcrun simctl list runtimes -j |\
jq ".runtimes[] | select(.isAvailable|not) | .bundlePath" | xargs)"
要执行,请删除 echo
或在末尾添加 | bash
。
如果您没有可用的 jq
命令,您可以使用 brew install jq
获取它
命令+空格
输入“模拟器”
打开您不再需要的旧 Beta 版模拟器。
在 Dock 中右键单击它,然后选择“选项”>“在 Finder 中显示”
关闭应用程序,然后将其从文件夹中删除。
:)
不定期副业成功案例分享