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