iOS系统定位权限弹出框和跳转系统设置页面的调研
2015-08-15 16:55
423 查看
最近大家提出了在微信等其他第三方的App 中进行定位时,如果没有定位权限,弹出的Alert点击后,可以跳转到系统的定位设置页面的现象,根据调研后可以得到以下结论:
1,该Alert为系统级别Alert,为系统控制弹出,弹出的触发条件为,在需要定位时,直接调用定位接口,系统判断当前定位总开关未开启,则会提示用户是否设置定位功能,用户点击后,跳转系统的定位设置页面,如图:
2,该Alert只能弹出提示两次。
(1)不管用户点击了“设置”还是“取消”按钮,当两次弹出后,以后即使系统级别的定位总开关没开启,也不会再次提示,要再次显示,需要卸载客户端,再次安装。
(2)对此APP的运行文件进行了深度解析查看,并没有找到在应用程序的doc或者tmp文件夹下有什么可以标记该状态的记录值,也就是说从系统级别用最高权限写入了App的配置文件。
(3)由于iOS程序的沙盒机制,该标记值我们无法通过代码逻辑进行改写,无法通过删除标记值的方式让这个Alert再次弹出。
3,该Alert中下部的提醒文字可以定制(如我定制成了:“XXX,我也可以把这显示出来了”),定制的方式是在配置的info.plist文件里边根据key来添加相应的多过语言即可
(NSLocationUsageDescription = "XXX,我也可以把这显示出来了.";)
4,此Alert弹出的逻辑仅限为系统级别的定位服务未开启,而针对在定位服务中关闭特定应用的定位服务的业务,此Alert不会被触发和弹出。
进行授权判断的方式:只能根据定位服务返回的异常信息进行判断用户是否授权了应用程序是否有权限获取定位结果。
此文档的参考代码:https://developer.apple.com/library/ios/samplecode/PrivacyPrompts/Introduction/Intro.html#//apple_ref/doc/uid/DTS40013410
1,该Alert为系统级别Alert,为系统控制弹出,弹出的触发条件为,在需要定位时,直接调用定位接口,系统判断当前定位总开关未开启,则会提示用户是否设置定位功能,用户点击后,跳转系统的定位设置页面,如图:
2,该Alert只能弹出提示两次。
(1)不管用户点击了“设置”还是“取消”按钮,当两次弹出后,以后即使系统级别的定位总开关没开启,也不会再次提示,要再次显示,需要卸载客户端,再次安装。
(2)对此APP的运行文件进行了深度解析查看,并没有找到在应用程序的doc或者tmp文件夹下有什么可以标记该状态的记录值,也就是说从系统级别用最高权限写入了App的配置文件。
(3)由于iOS程序的沙盒机制,该标记值我们无法通过代码逻辑进行改写,无法通过删除标记值的方式让这个Alert再次弹出。
3,该Alert中下部的提醒文字可以定制(如我定制成了:“XXX,我也可以把这显示出来了”),定制的方式是在配置的info.plist文件里边根据key来添加相应的多过语言即可
(NSLocationUsageDescription = "XXX,我也可以把这显示出来了.";)
4,此Alert弹出的逻辑仅限为系统级别的定位服务未开启,而针对在定位服务中关闭特定应用的定位服务的业务,此Alert不会被触发和弹出。
进行授权判断的方式:只能根据定位服务返回的异常信息进行判断用户是否授权了应用程序是否有权限获取定位结果。
此文档的参考代码:https://developer.apple.com/library/ios/samplecode/PrivacyPrompts/Introduction/Intro.html#//apple_ref/doc/uid/DTS40013410
相关文章推荐
- 常见的选择<数据源协议,委托协议>(IOS发展)
- iOS 委托和协议
- IOS 自动约束
- iOS 以byte数组作为密钥的3des加密
- ios学习之旅---指针也不难
- iOS开发常用快捷键
- iOS_第三方字体的导入和使用
- 个人常用iOS第三方库以及XCode插件介绍
- Xcode中iOS模拟器程序中的plist路径
- Xcode中iOS模拟器程序中的plist路径
- Xcode中iOS模拟器程序中的plist路径
- ios打包应用程序,生成ipa文件
- 高仿美团iOS版,版本号5.7
- 高仿百度传课iOS版,版本号2.4.1.2
- 高仿土豆视频iOS版
- IOS中图片作为button的背景图拉伸
- iOS SDK详解之NSCopying协议
- 高仿 IOS遨游哈哈最新版
- VMware Workstation11.0安装Mac OS X 10.10最完整指南(包含所需所有资源下载)
- 苹果开发 笔记(61)recursiveDescription 方法