发布网友 发布时间:2023-10-18 13:40
共1个回答
热心网友 时间:2024-12-05 12:59
很多尝鲜 iOS 14 的用户,在升级完成后会遇到 App 请求一个名叫「Local Network(本地网络)」的权限。、
相信大家对这个权限有很多疑问:本地网络权限是什么?为什么要对它做出*?以及哪些应用真的需要这个权限?这三个问题将在本文里得到解答。
本地网络权限是什么,为什么要*?
本地网络也叫局域网,是将设备接入路由器以后形成的网络,设备可以通过这张网络互相通信,让你可以在手机上将歌曲从无线音响里播放出来,在公司用公共打印机打印文档,在朋友家一起用 Switch 联机打游戏。
从 iOS 13 开始,应用想要获得当前连接到的 Wi-Fi 名称,那就必须要获得定位权限。因为通过识别 Wi-Fi 名称, 应用就能轻松地在你和周围的人之间建立大数据网络。但是不给定位权限不代表应用就没有办法跟踪你了,因为应用可以通过本地网络里的设备进行跟踪。
在过去的 iOS 版本中,应用可以随意扫描本地网络中的设备,因此应用就可以很轻松地得到本地网络里所有设备的名称和 MAC 地址。MAC 地址是一种确认网络设备位置的地址,每个网卡都有一个唯一的 MAC 地址,加上 MAC 地址也具有唯一性,设备厂商会按照一定的规律分配 MAC,所以不同的局域网都是独一无二可以识别的。
这样就通过 MAC 地址和设备的名字以生成一个特定的「指纹」,持续地、跨应用地、跨设备地跟踪用户的行为,并对用户画像持续进行调整。
比方说,你从线下渠道买了个新相机,拍完照片利用相机自带的 Wi-Fi 将照片导入到手机上。这时候带有某个推广模块的应用对局域网发起了一次扫描,识别到了一个新的设备,推广模块会将相机的 MAC 地址上传了云端,进行简单的识别对比以后,很容易知道这个 MAC 地址属于相机。这样带有推广模块的应用都会在画像里给你加上「相机用户」这样的标签,当你下次打开带有同一个推广模块的购物应用时,你就会看到推荐了大量和相机有关的东西。所以在 iOS 14 里,Apple 开始对本地网络权限做出了更加严格的*。
哪些 App 需要开本地网络权限?
就大部分应用而言,它们都不需要给本地网络权限。因为它们没有功能会使用到本地网络,请求这个权限的主要目的就是为了跟踪用户并推送广告。
· 使用 HomeKit、AirDrop、AirPlay 和 AirPrint 的应用也不需要给出本地网络权限,使用这类 API 的时候苹果会以保护隐私的前提下传输和交换数据。
· 智能家居 App(非 HomeKit 型,比如米家等)、在线流媒体投屏类 App(比如 Spotify、腾讯视频等)会相对复杂一点:配对时需要授予权限,控制时可以选择性授予权限。
· 配对智能家居和电视时,对应的 App 只有先在本地找到对应的设备,才能进行配对,所以这个过程是必须要授予本地网络权限的,配对完成以后大部分的智能家居服务会把设备记录到云端。而到了控制时,由于在云端存有智能家居的信息,用户在控制时 App 会先尝试从本地提交请求,如果无法连接的话再从云端向设备推送请求,即可以选择性授予权限。
从本地推送和从云端推送,简单的开关命令、调节命令延迟实际上没有特别大的区别,所以不给本地网络权限是完全可以的。只有在网络环境较差时,推送和播放内容的时才会感觉到明显延迟和卡顿。所以我认为,智能家居类 App 还是在线流媒体的投屏推送类 App 只需要在配对时短暂打开一段时间,日常使用的时候完全没有必要给本地网络权限。
最后这三类 App 是必须要授予本地网络权限的,它们包括:
· 利用本地网络进行设备发现
· 利用本地网络进行数据传输
· 网络调试工具
利用本地网络传输数据的应用还是挺多的,比如你用本地视频播放器 nPlayer 播放 NAS 里的视频时就需要本地网络权限;又比如你想要把手机里的照片利用第三方软件投射到电视上,这也是需要本地网络权限的;再比如你经常使用 TIM 里的面对面快传,这项功能也需要本地网络权限才能正常工作。
最后一个就是极客用得比较多的网络调试工具,比如 HE Network Tools。