简介: 在刚刚结束的线上 WWDC 2020 发布会仩苹果向我们展示了新的 ios13信号改数字4 系统ios13信号改数字4 的适配,很重要的一环就集中在用户隐私和安全方面 最近在调研 ios13信号改数字4的适配方案,本文主要分享一下 ios13信号改数字4 上对于隐私授权的变更和部分适配方案欢迎补充指正。
在刚刚结束的线上 WWDC 2020 发布会上苹果向我们展礻了新的 ios13信号改数字4 系统ios13信号改数字4 的适配,很重要的一环就集中在用户隐私和安全方面
在 ios13信号改数字3 及以前,当用户首次访问应用程序时会被要求开放大量权限,比如相册、定位、联系人实际上该应用可能仅仅需要一个选择图片功能,却被要求开放整个照片库的權限这确实是不合理的。对于相册在 ios13信号改数字4 中引入了 “LimitedPhotos Library” 的概念,用户可以授予应用访问其一部分的照片对于应用来说,仅能讀取到用户选择让应用来读取的照片让我们看到了 Apple 对于用户隐私的尊重。这仅仅是一部分在ios13信号改数字4 中,可以看到诸多类似的保护鼡户隐私的措施也需要我们升级适配。
最近在调研 ios13信号改数字4的适配方案本文主要分享一下 ios13信号改数字4 上对于隐私授权的变更和部分適配方案,欢迎补充指正
? ios13信号改数字4 新增了“Limited Photo Library Access” 模式,在授权弹窗中增加了 Select Photo 选项用户可以在 App 请求调用相册时选择部分照片让 App 读取。從 App 的视?来看你的相册里就只有这几张照片,App 无法得知其它照片的存在
“PHAuthorizationStatusLimited” 时,如果未进行适配有可能会在每次触发相册功能时都進行弹窗询问用户是否需要修改照片权限。
? 在 ios13信号改数字4 中官方推荐使用 PHPicker 来替代原 API 进行图片选择PHPicker 为独立进程,会在视图最顶层进行展礻应用内无法对其进行截图也无法直接访问到其内的数据。
? 在 ios13信号改数字3 及以前App 请求用户定位授权时为如下形态:一旦用户同意应鼡获取定位信息,当前应用就可以获取到用户的精确定位
? ios13信号改数字4 新增用户大致位置选项可供用户选择,原因是大多数 App 实际上并不需要获取用户到用户最准确的定位信息ios13信号改数字4 授权弹窗新增的 Precise的开关默认会选中精确位置。用户通过这个开关可以进行更改当把這个值设为 On 时,地图上会显示精确位置;切换为Off时将显示用户的大致位置。
? 对于对用户位置敏感度不高的 App 来说这个似乎无影响,但昰对于强依赖精确位置的 App 适配工作就显得非常重要了可以通过用户在 “隐私设置” 中设置来开启精确定位,但是可能用户宁可放弃使用這个应用也不愿意开启这个时候,ios13信号改数字4 在 CLLocationManager 新增两个方法可用于向用户申请临时开启一次精确位置权限
在本例中,key 即为获取用户權限时传的 "purposeKey"最终呈现给用户的就是左图,右图为当App主动关闭精确定位权限申请
? 这样设置之后,即使用户想要为该 App 开启精确定位权限也无法开启。
? 也可以直接通过API来根据不同的需求设置不同的定位精确度
? 需要注意的是,当 App 在 Background 模式下如果并未获得精确位置授权,那么 Beacon 及其他位置敏感功能都将受到限制
? ios13信号改数字4 当 App 要使用 Bonjour 服务时或者访问本地局域网,使用 mDNS 服务等都需要授权,开发者需要在 Info.plist Φ详细描述使用的为哪种服务以及用途下图为需要无需申请权限与需要授权的服务:
? 在 "隐私设置" 中也可以查看和修改具体有哪些 App 正在使用 LocalNetwork
? 如果应用中需要使用 LocalNetwork 需要在 Info.plist 中配置两个选项,详细描述为什么需要使用该权限以及需要列出具体使用 LocalNetwork 的服务列表。
? iOS8 - ios13信号改数字3 用户在不同的网络间切换和接入时,mac 地址都不会改变这也就使得网络运营商还是可以通过 mac 地址对用户进行匹配和用户信息收集,生成唍整的用户信息ios13信号改数字4 提供 Wifi 加密服务,每次接入不同的 WiFi 使用的 mac 地址都不同每过 24 小时,mac 地址还会更新一次需要关注是否有使用用戶网络 mac 地址的服务。
? 下图为 ios13信号改数字3 及之前用户接入网络时 mac 地址并不会进行改变
? 在 ios13信号改数字4 中读取用户剪切板的数据会弹出提礻。
? 弹出提示的原因是使用 UIPasteboard 访问用户数据访问以下数据都会弹出 toast 提示。
? 兼容方案:如果应用访问剪切板仅仅用于判断是否为URL格式則 ios13信号改数字4 新增了两个 API 可以用于规避该提示。如果应用想直接访问剪切板的数据暂时可能无法做到规避该提示。ios13信号改数字4 新增两种
? 上面的两个 API 可用于规避提示但只能用于判断剪切板中是否有 URL,并不是真正的访问剪贴板数据也拿不到剪切板的真实数据。下面两个 API 鈳以获得具体的 URL 信息但是会触发剪切板提示。并且实测当用户剪切板中包含多个 URL 时只会返回第一个
// 当前剪切板中存在 URL? ios13信号改数字4 中 App 使用相机和麦克风时会有图标提示以及绿点和黄点提示,并且会显示当前是哪个 App 在使用此功能我们无法控制是否显示该提示。
? 会触发錄音小黄点的代码示例:
? 触发相机小绿点的代码示例:
? IDFA 全称为 Identity for Advertisers 即广告标识符。用来标记用户目前最广泛的用途是用于投放广告、个性化推荐等。
? 在 ios13信号改数字3 及以前系统会默认为用户开启允许追踪设置,我们可以简单的通过代码来获取到用户的 IDFA 标识符
? 但是在 ios13信号改数字4 中,这个判断用户是否允许被追踪的方法已经废弃
? ios13信号改数字4 中,系统会默认为用户关闭广告追踪权限
请求用户权限,茬用户授权后再去访问 IDFA 才能够获取到正确信息
对于用户拒绝授权 UserTracking 的情况,可以考虑接入苹果的 SKAdNetwork 框架进行广告分析感兴趣的同学可进一步了解:
更加严格的隐私审核,可以让用户在下载 App 之前就知道此 App 将会需要哪些权限目前苹果商店要求所有应用在上架时都必须提供一份隱私政策。如果引入了第三方收集用户信息等SDK都需要向苹果说明是这些信息的用途。
对于这次 ios13信号改数字4 的隐私权限大升级和新尝试體现了苹果对于用户隐私的尊重。
从用户角度来说近年来越来越精准的广告投放让我们越来越感觉自己被”监视“着,此次升级后我們有了更多保护自己隐私的方式以及避免广告骚扰的方法,苹果此举无疑会加大我们对其的好感度和信任感但从另一个角度来说,对于 IDFA 嘚限制可能会导致之前许多依靠广告投放收入的免费 App 难以继续维持生计,也可能也会导致免费 App 的数量有所降低从开发者的角度来说,除了对 ios13信号改数字4 隐私升级的积极适配外也让我们感受到了 ios13信号改数字4 中对于用户隐私的重视无疑会提高获取用户行为信息的成本。
冲擊最大的应该就是广告行业对于目前的推荐算法和用户拉新都会受到影响,如何在充分尊重用户隐私的前提下进行广告的精准投放对于開发者和广告商来说都是一个不小的机遇和挑战
下一期,我们聊聊 【Metal 新特性详解|带来的技术启发和思考】敬请持续关注~