iOS适配
全新的主屏幕改版,以及包括信息、地图、App Store ,翻译等多个官方应用和小组件在内的升级,增加了主屏小部件支持、多组件支持智能叠放、画中画、来电显示、App分类、CarKey、App Clips等新特性。此外,Siri也获得了近乎全新的升级。根据苹果发布会的消息,iPhone 6s及以上机型设备可以升级iOS14:
1.相册
iOS14 新增了“Limited Photo Library Access” 模式,在授权弹窗中增加了 Select Photo 选项。用户可以在 App 请求调用相册时选择部分照片让 App 读取。从 App 的视⻆来看,你的相册里就只有这几张照片,App 无法得知其它照片的存在。
-
现状:相册若未适配,且未选择所有,每次启动app调用相册时,都会弹出限制选择弹框;【线上包测试的确如此】
-
适配:info.plist增加字段PHPhotoLibraryPreventAutomaticLimitedAccessAlert后,不再弹限制选择框,但是会保留之前的限制结果,无法再次更改;说是有代码可以主动调起,但还没确认是哪个api;【未解决】
-
测试:
- 自定义相册TZImagePicker显示有问题;【处理cell中的一个懒加载,提前调用下】
- 系统相册测试好像不受影响;
2.定位
iOS14 新增用户大致位置选项可供用户选择,授权弹窗新增的 Precise的开关默认会选中精确位置。用户通过这个开关可以进行更改,当把这个值设为 On 时,地图上会显示精确位置;切换为Off时,将显示用户的大致位置。
-
现状:iOS14 定位授权弹窗新增精确位置开关。授权过之后,用户也可以在设置中切换;【实测,关闭精准定位,无法绘制路径,一直提示gps信号弱,历史记录没有】
-
适配:针对项目中像跑步需要精准定位的功能,需要更改info.plist和代码主动调用;【测试无误】
-
测试:iOS14 也可以通过直接在 info.plist 中添加 NSLocationDefaultAccuracyReduced 为 true 默认请求大概位置。这样设置之后,即使用户想要为该 App 开启精确定位权限,也无法开启。【尝试失败,值无法改为bool类型,且咱app目前不会有这情况】
3.LocalNetwork
iOS14 当 App 要使用 Bonjour 服务时或者访问本地局域网,使用 mDNS 服务等,都需要授权,开发者需要在 Info.plist 中详细描述使用的为哪种服务以及用途。最后这三类 App 是必须要授予本地网络权限的,它们包括:利用本地网络进行设备发现、利用本地网络进行数据传输、网络调试工具。
- 现状:在设置中查看本地网络,发现咱项目有使用,跑步时会调用该权限;
- 适配:目前推测是高德SDK的问题;【未解决】
4.剪切板
在 iOS14 中,读取用户剪切板的数据会弹出提示。
- 现状:粘贴板有值时,每次打开APP或切换tab时都会弹出toast;
- 适配:切换tab弹toast,原因有个一直执行的方法currentPasteBoardString,推测红包雨需求;【未解决】
- 测试:
- 弹出提示的原因是使用 UIPasteboard 访问用户数据。【实测访问pasteBoard.string strings的确如此,URL(s)、Image(s)并未弹】
- (后台进前台)每次进入app,这个情况和qq网易一样,推测属于正常;
- 每次的粘贴操作弹toast,推测正常;
5.IDFA
IDFA 全称为 Identity for Advertisers ,即广告标识符。用来标记用户,目前最广泛的用途是用于投放广告、个性化推荐等。在 iOS13 及以前,系统会默认为用户开启允许追踪设置, 但是在 iOS14 中,系统会默认为用户关闭广告追踪权限,若用户不主动授权,将获取不到 IDFA 标识符。且每个应用设置都有该权限项,用户可以主动切换,不再是全局属性;
- 现状:iOS14系统打印deviceId为“00000-0000-0000-0000”;
- 适配:info.plist+代码改动,方式待优化;
6.UIDatePicker
iOS14系统控件UIDatePicker样式展示发生了变化;
- 现状:项目中血糖界面时间选择器样式异常;
- 适配:设置默认属性值即可;
7.UITableViewCell
在 iOS14 bate 中,UITableViewCell 中如果有直接添加在 cell 上的控件,也就是使用 [self addSubview:]
方式添加的控件,会显示在 contentView 的下层。
- 测试:验证发现没有这个问题,后续需注意;
8.AppStore上架
上传 AppStore,商店中需描述App 要获取哪些用户隐私权限及用途;更加严格的隐私审核,可以让用户在下载 App 之前就知道此 App 将会需要哪些权限。目前苹果商店要求所有应用在上架时都必须提供一份隐私政策。如果引入了第三方收集用户信息等SDK,都需要向苹果说明是这些信息的用途。
9.其他
- Wi-Fi Address 更安全: iOS8 - iOS13 ,用户在不同的网络间切换和接入时,mac 地址都不会改变,这也就使得网络运营商还是可以通过 mac 地址对用户进行匹配和用户信息收集,生成完整的用户信息。iOS14 提供 Wifi 加密服务,每次接入不同的 WiFi 使用的 mac 地址都不同。每过 24 小时,mac 地址还会更新一次。并且用户也可以自行选择是否开启 private Wi-Fi address;
-
相机相册:iOS14 中 App 使用相机和麦克风时会有图标提示以及绿点和黄点提示,并且会显示当前是哪个 App 在使用此功能。我们无法控制是否显示该提示。
-
系统bug:选择了下载APP显示在主页,但实际仅放到了资源库;【beta2、3】
-
注意:有些info.plist项只有xcode12才有,也就是说具体适配可能需要xcode12打包,若xcode11打包需另适配测试;
资料参考:
适配及解决方案:https://www.jianshu.com/p/b230194b1b0f
iOS14更新内容:http://www.myzaker.com/article/5ef951fc8e9f092fe56e73c3/
iOS14更新内容:https://www.sohu.com/a/405536886_115785?trans=000019_share_sinaweibo_from
App Clips:https://blog.csdn.net/shenjie12345678/article/details/107009806/
App Clips:https://zhuanlan.zhihu.com/p/150221205