networkextension не импортирует более новую версию - PullRequest
1 голос
/ 29 июня 2019

я пытаюсь работать с сетевым расширением в xcode 10 ios12 в основном, я импортировал его, и он должен быть из 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 голосов
/ 09 июля 2019
- (BOOL)startVPNTunnelWithOptions:(NSDictionary<NSString *,NSObject *> *)options 
                   andReturnError:(NSError * _Nullable *)error;

Этот метод доступен в objc и устарел в swift 3 Ссылка на документ Objc: https://developer.apple.com/documentation/networkextension/nevpnconnection/1406061-startvpntunnelwithoptions?language=objc

В swift 3+ функция была переименована в func startVPNTunnel(options: [String : NSObject]? = nil) throws

Swiftссылка на документацию: https://developer.apple.com/documentation/networkextension/nevpnconnection/1406061-startvpntunnel

...