问题描述
我正在生产Xamarin.iOS应用,该应用正在iOS 14设备上启动时要求本地网络许可。应用未使用任何Bonjour服务,也未使用任何特定于本地网络的内容。该应用程序具有各种nuget软件包,包括Xamarin.Essentials,MvvmCross,Firebase服务,Realm DB等。
我已经遍历了developer.apple.com上的各种开放线程,包括WWDC2020 video,但仍然没有得到触发此“权限”对话框的内容。
解决方法
经过多次试验和错误,我们终于能够确定本地网络权限触发点。
- 由于SSHConnection检查方法,我们触发了此提示 用于识别越狱的iPhone设备。
- 此方法检查SSH客户端是否尝试在端口22上建立与127.0.0.1(localhost)的连接。如果连接成功,则表明设备越狱了。
- 此代码导致权限提示
CrossConnectivity.Current.IsRemoteReachable("127.0.0.1",22,5000);