【问题标题】:Mac OS app entitlements block internet connectionMac OS 应用程序权利阻止互联网连接
【发布时间】: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 会加载其内容...

我试过了:

  1. 退出 Xcode
  2. 重启我的电脑
  3. 以保存模式启动
  4. 在权利中启用任意权限组合
  5. 创建一个新的 MYAPP.entitlements 文件
  6. 重命名我的目标

有人经历过这种行为吗? 任何建议将不胜感激...谢谢。

【问题讨论】:

    标签: sandbox xcode4.6 entitlements code-signing-entitlements


    【解决方案1】:

    好吧,我最终重新安装了整个系统,现在它可以工作了......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多