如何断开VPN后,应用程序被终止ios swift

jutyujz0  于 2023-01-19  发布在  Swift
关注(0)|答案(3)|浏览(435)

基本上我正在VPN应用程序工作,我想把我的应用程序中的免费用户限制。免费用户可以连接到VPN与1GB的限制像隧道熊应用程序。
我已经使用此代码和VPN连接/断开工作正常. Create Personal VPN connection using NEVPNManager
我需要在NEOnDemandRule中添加一些规则来实现这一点吗?
如果我连接到VPN并关闭应用程序VPN仍然连接在这种情况下,我怎么能限制免费用户限制为1GB,而应用程序终止。
任何建议都会很有帮助。

eivnm1vs

eivnm1vs1#

您的应用不会持续在后台运行,除非它实现了需要后台运行的功能(例如播放音频、接收位置更新或处理计划任务)。有关详细信息,请参阅Apple文档中的this helpful article
处理这种情况的最佳方法是在应用发送到后台时暂停计时器,然后在应用重新进入前台时重新启动计时器。

xt0899hw

xt0899hw2#

我用了这些简单的代码,它工作完美

import NetworkExtension
            
class yourViewController: UIViewController {
                  
    let manager: NEVPNManager = { NEVPNManager.shared() }()
                
    override func viewDidLoad() {
        super.viewDidLoad()

        //just add this Notification to observe if app terminated
        NotificationCenter.default.addObserver(forName: UIApplication.willTerminateNotification, object: nil, queue: nil) { _ in
            self.manager.connection.stopVPNTunnel()
            print("terminated")
        }
    }
}
xxhby3vn

xxhby3vn3#

您需要自己实现VPN,即使用数据包隧道提供商。然后您将能够计算1GB的流量并断开VPN。

相关问题