VPN 配置在 iOS 和 macOS 下的区别
最近尝试使用 Mac Catalyst 将 App 移植到 macOS 上,打包时遇到了该问题,故记录一下。
在 .entitlements
文件中,需要使用 key com.apple.developer.networking.networkextension
来标记需要 VPN 权限。
但是这个 key 的值在 iOS 和 macOS 上是不同的:
- iOS:
packet-tunnel-provider
- macOS:
packet-tunnel-provider-systemextension
区别就在于 macOS 下多了 -systemextension
这部分,所以如果 App 提供 VPN 功能,那么 Mac Catalyst 和非 Mac Catalyst 的 Settings 就不能使用同一份 .entitlements
文件了。