iOS 11 将位置服务从 "While Using" 更新到 "Always"
iOS 11 updating Location Services from "While Using" to "Always"
我最近正在更新应用以在后台添加定位服务。
应用目前支持"While using the App"定位服务,我想支持"Always allow"。
我记得此功能应涵盖两种情况。
尚未下载该应用程序的新用户。
当前用户,在使用该应用时已经授予该应用接收设备位置的权限。
场景 1 运行良好,但场景 2 出现了一些奇怪的事情。
当我启动应用程序时,在启动画面之后,iOS 提示用户使用两个选项提升应用程序的授权级别,"Only while using the app" 和 "Always Allow"。
我想稍后升级,而不是在初始屏幕之后。
有人知道为什么会这样吗?
这个问题已通过对所有 CoreLocation 库的符号断点解决。
如何?
1 - 在 didFinishLaunchingWithOptions 的第一行打断点
2 - 启动您的应用程序
3 - 在控制台面板上,插入此命令以中断 CoreLocation 库的每个方法
lldb: break set -r CoreLocation
4 - 恢复您的应用程序
现在调试将在从 CoreLocation 库调用的每个函数处停止
问题是依赖项在我没有意识到的情况下检查后台模式,所以这触发了警报。
我最近正在更新应用以在后台添加定位服务。
应用目前支持"While using the App"定位服务,我想支持"Always allow"。
我记得此功能应涵盖两种情况。
尚未下载该应用程序的新用户。
当前用户,在使用该应用时已经授予该应用接收设备位置的权限。
场景 1 运行良好,但场景 2 出现了一些奇怪的事情。
当我启动应用程序时,在启动画面之后,iOS 提示用户使用两个选项提升应用程序的授权级别,"Only while using the app" 和 "Always Allow"。
我想稍后升级,而不是在初始屏幕之后。
有人知道为什么会这样吗?
这个问题已通过对所有 CoreLocation 库的符号断点解决。
如何?
1 - 在 didFinishLaunchingWithOptions 的第一行打断点
2 - 启动您的应用程序
3 - 在控制台面板上,插入此命令以中断 CoreLocation 库的每个方法
lldb: break set -r CoreLocation
4 - 恢复您的应用程序
现在调试将在从 CoreLocation 库调用的每个函数处停止
问题是依赖项在我没有意识到的情况下检查后台模式,所以这触发了警报。