我有一个在macOS上不被信任的应用程序,我想运行它,但不允许它连接到互联网。
有什么最好的方法可以实现这一点吗?
我的最佳想法是在Xcode中构建一个简单的Swift启动应用程序,并对此启动器进行沙箱处理。从我所了解的情况来看,从沙盒应用程序启动的应用程序本身应该是沙盒化的。
因此,我的启动器应用程序如下:
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSWorkspace.shared.open("/path/inside/bundle/to/untrustedApp.app")
print ("after")
}
func applicationWillTerminate(_ aNotification: Notification) {
}
}
(注意,我使用了
NSWorkspace.shared.open
,因为 NSWorkspace.shared.openApp
没有做任何事情,甚至没有调用完成处理程序。)我在 Xcode 中添加了沙盒能力,并确保所有框都未被选中。我做错了什么吗?或者我的理解不正确吗?
codesign
它,甚至没有开发人员证书。 - hmedia1