2016-09-14 103 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