热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

有没有办法在iOS13中主动触发.alwayscoreLocation权限?

如何解决《有没有办法在iOS13中主动触发.alwayscoreLocation权限?》经验,为你挑选了1个好方法。

在iOS13下,当您为coreLocation请求.always权限(以启用后台位置(例如,地理围栏或iBeacons))时,仅向该应用授予“临时总”权限,该应用不允许在后台使用coreLocation。在稍后的阶段,原则上OS应该弹出一个许可请求以切换到.always许可。我还没有经历过,而且(在Apple开发人员论坛上)似乎没有人找到持续触发此对话框弹出窗口的方法。

我已经要求.always(只能提供无用的“总是临时”权限),然后尝试“升级”为真正的.always权限,但没有任何反应(没有弹出窗口,没有权限更改)

我还尝试遵循本书对WWDC的要求,始终要求。总是接收临时请求,然后相信OS会在某个阶段显示对话框-没有运气。

甚至更麻烦的是,即使我将应用程序的权限设置手动更改为真正的.always权限,该应用程序仍然无法在后台对位置进行定位。

如果要求始终提供.always并始终获得“临时”许可,我希望在某个阶段显示位置对话框的OS提出“真实”。始终许可。尽管在10倍的背景下进入了地理围栏,但两周内都没有发生这种情况。

我还希望许可“升级”流程能够正常工作,尽管在WWDC视频和coreLocation文档中都有解释,但事实并非如此。

如果Apple继续采用iOS 13,我希望在后台合理定位位置的许多应用程序将完全无法正常工作。

在这方面有人取得任何进展吗?我已向Apple提出了“反馈”,但期望在9月的iOS 13 GM之前不会及时收到他们的回应。



1> Tieme..:

当您在iOS 13中向用户请求其“始终”位置权限时:

locationManager.requestAlwaysAuthorization()

1)用户将收到此警报:

2)如果您要求始终许可,而您的用户选择Allow While in Use您的应用程序将认为它已获得.authorizedAlways许可,但这就是provisional .authorizedAlways许可。

3)接下来,当您的应用通常会在后台接收位置事件时,iOS不会直接在后台用事件启动您的应用,而是等到认为用户没有做任何事情,然后显示此对话框:

根据视频,这可能需要一段时间(6:39):

用户可以向您的应用授予始终来自其授权的提示将在稍后出现。{...}当我们认为用户不忙时,核心位置会等待一段时间,以最大程度地提高他们了解正在发生的事情的能力,并最大程度地降低他们给出自己的出路的可能性那种反应。

在此过程中(在应用程序进入后台和显示提示之间),您将不会收到位置更新事件:

如果您的应用最终获得了始终的授权,那么它们将被交付,如果您的应用在使用中得到授权,则不会交付它们。但是,如果用户还没有选择,它们也不会被交付。

因此,在此期间,如果在此基础上生成了更多事件,并且您正在监视请求,则这些事件将替换较早出现的事件,而较早的事件将被丢弃。最后,Core Location将删除事件部分,以解决任何已过时的问题。

4)然后,当用户选择时Change to Always Allow.authorizedAlways许可将变为最终许可(除非用户将来从某处的设置中更改它)。您将开始接收位置事件。

除非(5)用户选择Keep Only While Using,否则最终许可将变为.authorizedWhenInUse

以下是演示文稿的概述(编号为我的):

另一个指向完整视频的链接:https : //developer.apple.com/videos/play/wwdc2019/705

这能回答您的问题吗?

如果我将我的应用程序的权限设置手动更改为真正的.always权限,则该应用程序将继续无法在后台定位位置。

事实并非如此。您是否在系统偏好设置中进行了更改?

尝试使用GM种子,也许他们修复了有关此流程的一些错误。


推荐阅读
  • 本文针对HDU 1042 N! 问题提供详细的解析和代码实现。题目要求计算给定整数N(0 ≤ N ≤ 10000)的阶乘N!。文章不仅提供了算法思路,还附上了C++语言的具体实现。 ... [详细]
  • 在开发过程中,使用 HTML 的 `` 标签进行视频播放时,可能会遇到视频路径更新但浏览器仍播放缓存中的旧视频的问题。本文将介绍一种有效的方法来解决这一问题。 ... [详细]
  • 在VSCode中配置ESP-IDF开发环境
    本文详细介绍如何在无需单独下载工具链的情况下,通过VSCode配置ESP-IDF开发环境,包括下载离线安装包和安装ESP-IDF插件,从而实现项目编译与烧录。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 本文详细介绍了如何使用SQL*Plus连接Oracle数据库以及使用MySQL客户端连接MySQL数据库的方法,包括基本命令和具体操作步骤。 ... [详细]
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 本文探讨为何Request对象的外观设计被认为是精妙的,重点在于其如何利用门面模式确保数据安全,同时保持系统的高效交互。 ... [详细]
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • HDFS数据读写流程详解
    本文详细解析了HDFS(Hadoop分布式文件系统)中的数据读写过程,包括从客户端发起请求到最终完成数据传输的每一个关键步骤。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • 本文探讨了Python中的enchant模块及其提供的dict_exists()函数,该函数用于检测特定语言词典的可用性。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
author-avatar
小牛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有