simctl delete,无法删除当前状态的设备:正在创建

simctl delete, Unable to delete device in current state: Creating

我正在尝试删除模拟器,但它处于 simctl delete 无法删除的状态。我把它从我能想到的所有地方都删除了,但是对它的引用保留在某处。

一、清单:

    $ 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 文件夹的情况下,如何删除这个损坏的设备条目?

您在磁盘上删除了它,但 CoreSimulatorService 在那段时间 运行 并且不知道您破坏了它的权限 ;0.

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

另请注意,此特定错误已在 Xcode 8 中修复。您现在可以删除卡在创建状态的不可用设备。