我正在尝试在xcode 10 ios12中使用networkextension 基本上,我已经导入了它,它应该来自ios12,它具有一个额外的功能(startVPNTunnelwithOptions),我可以覆盖它。 但相反,xcode似乎将其链接到旧版本。现在,如果我尝试覆盖它,则xcode会一直告诉我使用startVPNTunnel
Replace 'startVPNTunnelWithOptions(' with 'startVPNTunnel(options:
1. 'startVPNTunnelWithOptions' was obsoleted in Swift 3 (NetworkExtension.NEVPNConnection)
如上味精所示,xcode似乎使用swift3而不是4.2或5。
但是我使用的是最新的xcode和macOS,甚至将开发目标设置为12.2,在Swift lang中我将设置为swift5
startVPNTunnelWithOptions方法位于自定义的PacketTunnelProvider.m中 我有一个桥头文件来桥接它 以下是桥文件中的内容
#import "../ConnectTunnel/PacketTunnelProvider.h"
我在这里想念什么?
答案 0 :(得分:0)
- (BOOL)startVPNTunnelWithOptions:(NSDictionary<NSString *,NSObject *> *)options
andReturnError:(NSError * _Nullable *)error;
此方法在objc中可用,在swift 3中已作废 对象文档链接: https://developer.apple.com/documentation/networkextension/nevpnconnection/1406061-startvpntunnelwithoptions?language=objc
在3+版本中,该功能已重命名为func startVPNTunnel(options: [String : NSObject]? = nil) throws
快速文档链接: https://developer.apple.com/documentation/networkextension/nevpnconnection/1406061-startvpntunnel