networkextension不导入较新的版本

时间:2019-06-28 23:29:11

标签: objective-c swift xcode swift3 networkextension

我正在尝试在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

enter image description here

startVPNTunnelWithOptions方法位于自定义的PacketTunnelProvider.m中 我有一个桥头文件来桥接它 以下是桥文件中的内容

#import "../ConnectTunnel/PacketTunnelProvider.h"

我在这里想念什么?

1 个答案:

答案 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