使用开发者ID签名的Mac App无法启动,我得不到com.apple.developer.networking.vpn.api权利(错误代码-67050)

时间:2015-11-20 15:02:50

标签: macos code-signing nevpnmanager

我正在开发一个在OSX上运行的应用程序,并使用NEVPNManager进行El Capitan中引入的IKEv2连接。为了建立/激活VPN连接,它需要"个人VPN"权利。

如果我使用开发证书签署我的应用程序,它可以在我的机器上按预期工作,或者如果他们绕过Gatekeeper则在其他人上工作。但是,如果我使用开发者ID证书对其进行签名,则应用程序无法启动。 codesign -vvv spctl -a 表示它的签名没有任何问题,但在system.log文件中,当我尝试时,我看到了这一点运行应用程序。

Nov 19 11:00:01 taskgated[562]: no application identifier provided, can't use provisioning profiles [pid=22401]
Nov 19 11:00:01 taskgated[562]: killed com.myorg.myapp[pid 22401] because its use of the com.apple.developer.networking.vpn.api entitlement is not allowed (error code -67050) 

是否禁止在Mac App Store外使用Personal VPN功能?如果是这样,没有任何意义,因为它不使用任何Apple服务。

更新

在与Apple的某个人交谈后,很明显个人VPN功能不允许在App Store外部使用,因此不能与开发者ID证书一起使用。以下是允许哪种代码签名[the list here]

的列表

1 个答案:

答案 0 :(得分:3)

我知道这个问题很旧,但我想提供更新。从macOS 10.12和XCode 8开始,Mac App Store外部允许使用开发者ID签名的Mac Apps。以这种方式签名的应用程序将在10.11和10.12上运行而不会出现问题。这是我在2016年WWDC上要求的一项变更,该变更已经实施。您将看到链接到的列表OP已更新。