macOS Sierra,Xcode 8.2。在沙箱中運行iOS模擬器
我想在沙盒中運行Xcode iOS模擬器,這樣我就可以限制正在測試的應用程序的網絡連接。
Based on what I saw here,我創建了一個沙箱文件是這樣的:
(version 1)
(allow default)
(deny network*)
然後我跑這樣的模擬器:sandbox-exec -f ~/Desktop/block_network.sb /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
看來,這並不正確模擬器連接到任何其他進程管理它。該模擬啓動,但說該設備無法找到,並在Xcode運行只是打開了一個不同的模擬器。我在終端上也看到這個錯誤:CoreSimulatorService connection became invalid. Simulator services will no longer be available.
有什麼想法?
我也嘗試從sb文件中刪除(deny network*)
,所以一切都是允許的;同樣的問題。
謝謝,但是當我把它附加到我的沙盒文件時,它給了我相同的錯誤。日誌中沒有任何沙箱違例。由於即使我在沙箱中沒有「拒絕」規則,它也不起作用,似乎只是在沙箱中運行它會破壞它。 – sudo
可能無法找到所需的一些文件,因爲路徑會重新插入到沙箱目錄中。您可以檢查'fs_usage'來查看它在沙箱下嘗試訪問的路徑。 – russbishop
這很有道理,但是查看'fs_usage',每行包含「Simulator」,「Xcode」或「sandbox」的行都是從'/'中訪問的東西,而不是'〜/ Library/Containers/',那裏的沙箱根目錄是(我看到iWork應用程序訪問)。 – sudo