porque - Simuladores de iPhone duplicados aparecieron en mi Xcode
numeros repetidos iphone (3)
Apareció un simulador de iPhone duplicado después de que eliminé ~/Library/Developer/Xcode/CoreSimulator
folder
¿Cómo resolver este problema?
He intentado eliminar la carpeta ~/Library/Developer/Xcode
y ~/Library/Application Support/iPhoneSimulator
. Pero todos fracasaron.
Puede suceder debido a la instalación de varios Xcode o durante las actualizaciones de Xcode. Lo único que hay que hacer es abrir Xcode -> Ventana -> Los dispositivos seleccionan el dispositivo duplicado y lo eliminan.
Tengo un mismo problema después de instalar la versión beta de Xcode. Encontré que hay varias soluciones para solucionar este problema.
1. instantánea
https://github.com/fastlane/fastlane/tree/master/snapshot
uso: gem install fastlane; fastlane snapshot reset_simulators
gem install fastlane; fastlane snapshot reset_simulators
Resolví mi problema con esta biblioteca y es muy fácil de usar.
2. Xcode-> Ventana-> Dispositivos
Puedes comprobar los simuladores instalados y borrarlos. Pero llevará mucho tiempo si tiene muchos simuladores.
3. xcrun simctl delete
Puedes usar el comando xcrun en la terminal. Pero necesitas ingresar un nombre de dispositivo específico con comando.
Tuve un poco mucho! Demasiados para eliminar uno por uno en Dispositivos, gracias Apple por no incluir la selección múltiple. No toque dos veces eliminar o bloqueará Xcode. Encontré un script que podía eliminar duplicados, pero solo funcionaba si solo había 1 duplicado de cada tipo, por lo que no funcionó en mi caso. Por lo tanto, edité el script para simplemente eliminar todos los simuladores, y luego puede agregar lo que necesite simplemente haciendo clic en el botón más en la ventana Dispositivos.
Guarde lo siguiente como 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])
Entonces corre:
python remove_all_sims.py
Tenga en cuenta su código duro para simuladores de iOS 8.4 solamente.