AVVPNService 0.1.4

AVVPNService 0.1.4

Andrey Vasilev 维护。



  • 作者
  • Andrey Vasilev

AVVPNService

Version License Platform

要求

  • iOS 9.3+
  • Swift 5

安装

AVVPNService 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'AVVPNService'

或者直接将 AVVPNService/Classes/ 添加到您的项目中

使用

选择项目编辑器的“签名与能力”选项卡 -> 添加 个人 VPN 能力

import AVVPNService

// Initialize Credentials
let credentials = Credentials.IPSec(server: "", username: "", password: "", shared: "")
// or
let credentials = Credentials.IKEv2(server: "", username: "", password: "", remoteId: "", localId: "")

// Connect
AVVPNService.shared.connect(credentialas) { error in
// Handle error
}

//Disconnect
AVVPNService.shared.disconnect()

您还可以观察 NEVPNStatus

import AVVPNService
import NetworkExtension

// Set delegate
AVVPNService.shared.delegate = self

// and conform to AVVPNServiceDelegate
func vpnService(_ service: AVVPNService, didChange status: NEVPNStatus)

或订阅 NEVPNStatusDidChange 通知

import AVVPNService
import NetworkExtension

NotificationCenter.default.addObserver(self, selector: #selector(didChangeStatus(_:)), name: NSNotification.Name.NEVPNStatusDidChange, object: nil)

@objc func didChangeStatus(_ notification: Notification) {
    if let connection = notification.object as? NEVPNConnection {
        print(connection.statu)
    }
}

作者

Andrey Vasilev ([email protected])

致谢

为Apple的VPN创建密钥链,Moataz Elmasry

许可协议

AVVPNService采用MIT许可证。更多信息请参阅LICENSE文件。