最近苹果推出iOS14,估计很多开发者都会遇到这种情况,测试机更新iOS14后,APP在启动时会突然多出一个“XXX想要查找并连接到本地网络上的设备,”弹框如下图
然后在做14的适配时发现,APP并没有用到这个功能,不知道是什么引起的弹框,本打算不管。后来查资料发现本地网络权限需要在plist文件中配置并说明,否则会被拒。但是我们的APP并没有这个功能啊,于是开始一一排查。
首先是更新所有的第三方库,更新后还是不行,最后在适配高德地图临时允许一次定位后,该弹框终于不再出现了。
适配高德地图临时允许一次定位方法
-(void)amapLocationManager:(AMapLocationManager*)manager doRequireTemporaryFullAccuracyAuth:(CLLocationManager *)locationManager completion:(void(^)(NSError *_Nullable))completion
{
if(@available(iOS 14.0,*)){
[locationManager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"plist中设置的key" completion:^(NSError * _Nullable error) {
if(completion){
completion(error);
}
}];
}
}
吐槽一下:
下午调试又神奇的出现了,试过多次都没用,而且点击不允许,APP还不能联网了,就算点了不允许,也是不允许链接局域网内的设备,这个问题太奇怪了,只好试着将测试机重启,重启后又没问题了,苹果的iOS14,也是bug挺多,而且各种权限弹框越来越靠近安卓了。。。
更新———
接口服务器如果跟WiFi在同一个内网下也会有这个弹框,可以不用理会。