现在,我已经使用iOS 11+的网络扩展API实现了一个简单的包隧道扩展。我想让它只应用VPN,以便我的应用程序的流量可以通过我们的VPN和代理隧道。所以,我的问题是
-(void)applicationWillResignActive:(UIApplication *)application或-(void)applicationDidEnterBackground:(UIApplication *)application。-(void)applicationWillTerminate:(UIApplication *)application,但当我尝试时,有时它不能正常工作。请为上述方案提出适当的解决方案或解决办法。这对我会有很大的帮助。
发布于 2019-01-01 23:28:23
我认为您无法在应用程序中以编程方式可靠地实现您所期望的目标。
您可以将您的VPN设置为Per-App VPN,并且只将您的应用程序与VPN关联起来。这应该能满足你的大部分要求。这方面的限制是,它只能通过移动设备管理(,MDM)解决方案部署。
另一种选择是将VPN作为标准VPN运行,并让所有应用程序通过它进行隧道化,但是在VPN网络扩展中使用NEPacketTunnelFlow::readPacketObjects(),从NEPacket响应中获取NEFlowMetaData,并使用sourceAppUniqueIdentifier参数标识应用程序。然后,您可以在网络扩展中对您的数据包处理进行编码,这样您的应用程序中的数据就可以通过您的VPN和代理发送,并且所有其他接收到的数据包都可能被转发到它们的预期收件人。
https://stackoverflow.com/questions/53730019
复制相似问题