WeZ*_*ard 24 xcode ios-simulator
我删除~/Library/Developer/Xcode/CoreSimulator文件夹后出现了一个重复的iPhone模拟器

如何解决这个问题呢?
我试图删除~/Library/Developer/Xcode文件夹和~/Library/Application Support/iPhoneSimulator文件夹.但都失败了.
san*_*oon 32
安装Xcode beta版后我遇到了同样的问题.我发现有几种解决方案可以解决这个问题.
https://github.com/fastlane/fastlane/tree/master/snapshot
用法: gem install fastlane; fastlane snapshot reset_simulators
我用这个库解决了我的问题,使用起来非常简单.
您可以检查已安装的模拟器并将其删除.但是如果你有很多模拟器需要很长时间.
你可以在终端中使用xcrun命令.但是您需要使用命令输入特定的设备名称.
我有点儿了!在设备中逐个删除太多,感谢Apple不包括多选.不要双击删除,否则你将崩溃Xcode.我找到了一个可以删除重复项的脚本,但只有每种类型只有1个副本才有效,所以在我的情况下不起作用.因此我编辑了脚本以简单地删除所有模拟器,然后只需在"设备"窗口中单击加号即可添加任何所需的模拟器.
将以下内容另存为remove_all_sims.py:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
from subprocess import Popen, PIPE
from subprocess import call
p = Popen(["xcrun","simctl","list","devices"], stdin=PIPE, stdout=PIPE, stderr=PIPE)
output, err = p.communicate(b"input data that is passed to subprocess' stdin")
blocks = re.split("--\s+(.*?)\s+--",output)
dic = {}
i=0
for block in blocks:
matches = re.findall("iOS 8.4",block)
if len(matches)>0:
content = blocks[i+1]
lines = content.split("\n")
for line in lines:
line = line.strip()
if len(line)>0:
match = re.match("(.*?)\(",line)
if match:
devicename = match.group(1)
idMatch = re.match(".*?\((.*?)\).*",line)
dic[devicename] = idMatch.group(1)
call(["xcrun","simctl","delete",idMatch.group(1)])
# print match.group(1)
# print line
i = i+1
for guid in dic.itervalues():
call(["xcrun","simctl","delete",guid])
Run Code Online (Sandbox Code Playgroud)
然后运行:
python remove_all_sims.py
Run Code Online (Sandbox Code Playgroud)
请注意其仅适用于iOS 8.4模拟器的硬编码.
| 归档时间: |
|
| 查看次数: |
3937 次 |
| 最近记录: |