2016-09-14 63 views
1

我想删除模拟器,但它处于simctl delete不会删除它的状态。我把它从我能想到的所有地方中删除,但是对它的引用保存在某处。simctl删除,无法删除当前状态的设备:创建

首先,上市:

 
    $ xcrun simctl list devices | grep 3B7 
     Apple Watch - 38mm (3B7135C5-40A3-40FB-A130-12ACB448EE5D) (Creating) (unavailable, runtime profile not found) 

接下来,我删除尝试:

 
    $ xcrun simctl delete 3B7135C5-40A3-40FB-A130-12ACB448EE5D 
    An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=159): 
    Unable to delete device in current state: Creating 

我旁边删除设备目录,从device_set.plist进入,甚至在.default_created.plist的条目。证明:

 
    $ pwd; ls -l 3* 
    /Users/jeff/Library/Developer/CoreSimulator/Devices 
    ls: 3*: No such file or directory 
    $ grep 3B7 device_set.plist .default_created.plist ; echo Anything? 
    Anything? 

但这并没有帮助。它仍然在那里。

因此,如果不删除整个CoreSimulator/Devices文件夹,我该如何删除此损坏的设备条目?

回答

7

您在磁盘上删除了它,但CoreSimulatorService在此期间正在运行,并且不知道您破坏了它的权限; 0。

如果你sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService,它会重新启动,而不会在下次启动时看到它。

另请注意,此特定错误已在Xcode 8中得到解决。您现在可以删除处于创建状态的不可用设备。

+0

所以当** CoreSimulatorService **正在运行时,我所做的就是运行'simctl delete'。即使在我从Xcode启动我的第一个模拟器之前它仍在运行。重启后清理了“创建”混乱。按照你的建议杀死这个过程可能也会做到。 – Jeff

+0

CoreSimulatorService仅在使用时启动(启动Xcode,Simulator,Instruments,xcodebuild等)。在Sierra上启动Console.app也会启动它。 –

+0

谢谢,杰里米,很好的帮助!也许这个bug在Xcode8中得到了解决 - 但是肯定的是,它被重新引入了Xcode 9! (因为在那里,我再次无法删除创建状态下的不可用设备)。在你的大力帮助下,我能够k :) :)(当然,在首先编译的时候稍微不小心删除了模拟器设备......) – iKK