我正在做一个项目,需要在一个完全隔离的VPN网络。我想知道iOS应用程序是否有任何特殊的权利,可以在不使用APNs服务器的情况下发送和接收推送通知。
我在Apple文档"本地推送连接"下的"网络扩展"下找到了一个主题。但它要求iOS设备使用特定的SSID,需要WiFi工作,如苹果文档中所述:当一个用户的iOS设备加入了一个Wi-Fi网络,该网络的SSID与你的NEAppPushManager实例中配置的SSID相匹配时,系统会启动你的应用扩展,并在该应用扩展中实例化NEAppPushProvider子类。来源:https://developer.apple.com/documentation/networkextension/local_push_connectivity
我还从苹果的文档中找到了一个示例代码,"在本地网络上接收语音和文本通信";但样本中提到,它"通过采用本地推送连接,在与苹果推送通知服务隔离的本地网络上提供语音和文本通信"。来源:https://developer.apple.com/documentation/networkextension/local_push_connectivity/receiving_voice_and_text_communications_on_a_local_network
是否有接收推送通知的方法&仅使用VPN和蜂窝数据的本地和隔离网络中的VoIP通知?
iOS 15增加了监视特定LTE网络以及特定WiFi ssid的功能,以启用NEAppPushProvider。请参阅NEAppPushManager上的matchPrivateLTENetworks
属性——在撰写本文时,它的文档非常稀疏,但是您链接到的示例代码已经更新以支持私有LTE网络。