Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是什么触发了这一问题;“要查找并连接到本地网络上的设备”;iOS 14上的许可通知?_Ios_Ios14 - Fatal编程技术网

是什么触发了这一问题;“要查找并连接到本地网络上的设备”;iOS 14上的许可通知?

是什么触发了这一问题;“要查找并连接到本地网络上的设备”;iOS 14上的许可通知?,ios,ios14,Ios,Ios14,除了Bonjour之外,什么实际方法调用会触发iOS 14上的“希望查找并连接到本地网络上的设备”权限通知 这是此新权限上WWDC会话的屏幕截图。作为一个概述,这只是有点帮助。我更感兴趣的是找出所有方法调用都触发了这一点 简言之,你好。它的使用不再是“透明的”。有关更多信息,请参阅: 如果您的应用程序与使用Bonjour或其他本地网络协议的设备交互,则必须在iOS 14中添加对本地网络隐私权限的支持 即使是现有的应用程序也要遵守这一规则;第一次尝试使用Bonjour会触发授权警报。关于iOS 1

除了Bonjour之外,什么实际方法调用会触发iOS 14上的“希望查找并连接到本地网络上的设备”权限通知

这是此新权限上WWDC会话的屏幕截图。作为一个概述,这只是有点帮助。我更感兴趣的是找出所有方法调用都触发了这一点


简言之,你好。它的使用不再是“透明的”。有关更多信息,请参阅:

如果您的应用程序与使用Bonjour或其他本地网络协议的设备交互,则必须在iOS 14中添加对本地网络隐私权限的支持


即使是现有的应用程序也要遵守这一规则;第一次尝试使用Bonjour会触发授权警报。

关于iOS 14:权限请求:希望查找并连接到本地网络上的设备,在多次部署到我的物理设备后,我已经找到了导致此情况的原因

我有一个Xamarin.Forms应用程序

  • 在开发时调用localhost:xxxx进行一些本地日志记录
  • 我使用了一个名为LiveSharp的产品,它可以对XAML和C代码更改进行本地热重新加载
  • 所以Livesharp实际上也与本地主机上的服务器通信。 在我的物理设备上禁用这两个功能并重新安装后,权限请求消失。。耶

    注意:我必须从我的项目中完全删除LiveSharp nuget包。 我还尝试重新启用本地主机日志记录,但由于某些原因,权限请求未出现..:头巾


    因此:删除应用程序中发生的任何本地主机通信。或者至少在其周围放置一条if语句,允许在appsettings中将其设置为true,我的一个应用程序在我们的internet多人模式下意外触发此提示。我们使用RAKNET来构建我们的网络(它是一个C++的BIB,使用BSD套接字发送/接收UDP),并且我能够跟踪问题到RNS2B.KKY::bdBasy函数。 创建UDP套接字后,RakNet通过让套接字向自身发送一个小测试包来测试套接字的运行状况/有效性。iOS 14将此发送到自我行为标记为本地网络上的通信。我不确定这种“自我发送”行为是socket编程中的常见模式,还是RakNet的一个特殊怪癖。令人沮丧的是,操作系统提示直到后来才真正出现,这使得问题很难跟踪

    我认为这是一个来自操作系统的假阳性,并且是通过苹果公司(FB8802121)提出的。我不会屏息以待,所以我刚刚禁用了iOS上的RakNet行为,我希望它不是太重要


    编辑:更直接地回答原始问题:
    sendto
    是一个可以触发此提示的方法调用。

    我还有一个Xamarin应用程序,我使用了LiveXaml软件包。删除它之后,消息就消失了。

    如果您正在使用带有调试配置的react native,那么您将包含负责与开发人员计算机通信的所有代码,因此您可能可以忽略此消息


    但是,最好检查您是否也没有其他需要访问的LIB。要做到这一点,只需建立一个发布版本,看看消息是否持续。

    真的很遗憾,因为它会吓坏用户。我第一次看到这一点时,我拒绝了授权——从而完全破坏了我正在使用的应用程序。过了一会儿,我意识到发生了什么。。。!不仅仅是“你好”触发了这个想法,这就是为什么我说“简而言之”。有关更多详细信息,请观看视频。我观看了视频,但它告诉我的只是示例应用程序没有立即触发它。它没有告诉我什么特定功能阻止了启动时的通知。@matt我们已经获得了多播权限。从那时起,UDP数据包接收开始出现错误。我们从未获得授权对话框,我们的应用程序未在隐私/本地网络中获得授权。我们试图通过以下方式触发发送数据的对话框:a)TcpSocket类b)GCDAsyncSocket发送TCP数据包c)GCDAsyncUdpSocket发送UDP数据包到joinMulticastGroup d)GCDAsyncUdpSocket广播UDP数据包e)重用Apple发送多播数据包与NWConnectionGroup的示例上述操作均未触发授权对话框。你知道吗?请注意,如果请求URL的域后缀是
    local
    (例如
    http://foo.bar.local/something
    ),这也会触发本地网络权限请求!