我有一个需要传出连接的 Mac OS 应用程序。
我已按照 Apple Code Signing Guide (Xcode 4.6.2) 启用权利,我的目标摘要如下所示:
我的项目中有一个 MYAPP.entitlements 文件,如下所示:
一切似乎都以正确的方式设置,但是当我尝试运行我的应用程序时,即使
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
和
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
被调用,我的 webView 中没有加载任何内容。小飞贼也没有要求连接。然后,在控制台中不会出现违规。
如果我尝试通过取消选中“允许传出连接”来更改权利设置,控制台会以这种方式显示沙盒违规:
20/05/13 00:44:09,000 kernel[0]: Sandbox: sandboxd(908) deny mach-lookup com.apple.coresymbolicationd
20/05/13 00:44:10,593 sandboxd[908]: ([904]) MYAPP(904) deny mach-lookup com.apple.SystemConfiguration.SCNetworkReachability
20/05/13 00:44:10,601 sandboxd[908]: ([904]) MYAPP(904) deny system-socket
如果我删除 Enable App Sandboxing,一切正常,我的 webView 加载它的内容......
我努力了:
- 退出 Xcode
- 重新启动我的电脑
- 以保存模式启动
- 在权利中启用任何权限组合
- 创建一个新的 MYAPP.entitlements 文件
- 重命名我的目标
有人经历过这种行为吗?任何建议将不胜感激...谢谢。