2

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

如果我使用开发证书签署我的应用程序,它可以在我的机器上按预期工作,或者如果他们绕过 Gatekeeper,它可以在其他人上工作。但是,如果我使用开发人员 ID 证书对其进行签名,则应用程序无法启动。codesign -vvvspctl -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) 

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

更新:

在与 Apple 的某个人交谈后,很明显 Personal VPN 功能不允许在 App Store 之外使用,因此它不能与 Developer ID 证书一起使用。以下是哪种代码签名允许使用哪种功能的列表 [此处的列表]

4

1 回答 1

3

我知道这个问题很老,但我想提供一个更新。从 macOS 10.12 和 XCode 8 开始,使用 Developer ID 签名的 Mac App 可以在 Mac App Store 之外使用。以这种方式签名的应用程序将在 10.11 和 10.12 上运行而不会出现问题。这是我在 WWDC 2016 上要求的更改,并已实施。您将看到链接到的列表 OP 已更新。

于 2016-11-30T22:53:12.773 回答