【发布时间】:2013-05-19 22:57:36
【问题描述】:
我有一个需要传出连接的 Mac OS 应用程序。
我已按照 Apple 代码签名指南 (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 文件
- 重命名我的目标
有人经历过这种行为吗? 任何建议将不胜感激...谢谢。
【问题讨论】:
标签: sandbox xcode4.6 entitlements code-signing-entitlements