- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想在后台跟踪时获得蓝条,但不是。
我的应用在事件时始终使用定位服务,因此在 iOS8 中,我在 CLLocationManager
上使用 requestWhenInUseAuthorization
。通常,当您关闭应用程序时,应用程序会停止跟踪您的位置,但用户可以选择让应用程序在后台跟踪他的位置的选项。因此,我在 Info.plist 文件中有 UIBackgroundModes
的 location
选项。这非常有效:当切换到后台时,应用程序会不断获取位置更新,并且会出现一个蓝条,提醒应用程序正在使用位置服务。一切都很完美。
但问题是,当用户没有选择在后台跟踪时,蓝条也会出现。在这种情况下,我只需在进入后台时停止来自 AppDelegate 的位置更新:
- (void) applicationDidEnterBackground:(UIApplication *)application
{
if (!trackingInBackground) {
[theLocationManager stopUpdatingLocation];
}
}
蓝条在关闭应用程序后仅显示一秒钟,但看起来仍然很烦人。
我知道使用 requestAlwaysAuthorization
而不是 requestWhenInUseAuthorization
可以解决问题,但是我根本不会得到任何蓝条,在后台跟踪时也不会实际开启。
我已经在 applicationWillResignActive:
方法中尝试过 stopUpdatingLocation
,但这没有任何区别。
有谁知道在后台跟踪时如何获得蓝条,但不知道时不知道?
最佳答案
我们经常向 Apple 报告事情,有时他们实际上会采取行动。正如问题中所述,为了防止蓝条很快出现,Apple 在 iOS-9 中的 CLLocationManager
上引入了一个新属性。在您知道需要在后台使用该位置的那一刻进行设置:
theLocationManager.allowsBackgroundLocationUpdates = YES;
或者,以向后兼容的方式:
if ([theLocationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
[theLocationManager setAllowsBackgroundLocationUpdates:YES];
}
在 swift 中:
if #available(iOS 9.0, *) {
theLocationManager.allowsBackgroundLocationUpdates = true
}
如果未设置此属性,则退出应用时不会出现蓝条,并且您的应用无法使用用户位置。请注意,在 iOS 9 中,您必须设置属性才能在后台使用位置信息。
见 the WWDC video苹果的解释。
关于iOS8 : Blue bar "is Using Your Location" appears shortly after exiting app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27132698/
当我们试图在 ListView (那里有很多项目)中拉到顶部(或末尾)时,我真的很想改变蓝色光芒(蓝色高亮)的颜色。 因此,伙计们,我想把这个颜色从蓝色改为橙色。 http://img835.imag
$('#toggle-linecolor').click(function () { chart.yAxis[0].update({ lineColor: li
给定两个简单的图形: library(igraph) g 111223345611 canonical 2(blue) vs 1(blue)->2(red),我们在Stack Overflow上找到
为什么在 java.awt.Color 类中定义了两个 Color 常量?例如 public static final Color blue; public static final Color BL
这个问题在这里已经有了答案: Can I use the id of an HTML element as a variable in JavaScript? [duplicate] (3 个答案)
我在大学作业中使用了 Flutter Blue,我需要创建一个应用程序来获取信息并将其传递给设备。像在任何应用程序中一样,此数据的传递必须是自动的(毕竟最终用户不应该寻找执行该过程所需的服务和特征)。
我正在对 Bitbucket Server 使用 Blue Ocean。我想要一个新的构建发生: 创建或更新拉取请求时 当 master 更新时(基本上,当 PR 合并到 master 时) 看来我可
我正在尝试使用 Microsoft 命名空间,我需要启用 Outlook 的“投票”选项,我正在 VBO - EmailPOP3/SMTP 上执行此操作。 当我引用命名空间 Microsoft.Off
我有一个蓝色的家伙(蓝色 Angular 色),我想在他周围的半圆中添加一些元素。 每个元素都是图像的容器和应该位于图像下方的文本范围。 我已经尝试过这个,但正如你看到的元素以这种方式旋转并且每个跨度
我试图更改.active状态的默认颜色。尝试更改.ui-btn-active。没用有任何想法吗??这是link 最佳答案 尝试使用!important子句将其添加为最后一条规则: .ui-btn-ac
我的 TCPListener 配置如下: this.tcpListener = new TcpListener(IPAddress.Any, config.portNum); 然后我(使用线程)设置一
我一直在尝试制作一个游戏,其中有一个显示红色或蓝色的大方 block ,用户必须相应地单击“v”或“b”。我最终以一种不令人满意和不专业的方式完成了这一部分(如果你能指导我找到更好的方法,那就太好了)
我必须从文件“main.csv”中读取并打印如下输出: Set 4,1095,Set 1 or 4 Set 2,18277,Set 2 or 3 Set 1 or 4,Set 4,944 Set 2,
我想知道是否可以更改选择器列表的默认蓝色。 这是一张说明我在说什么的图片: 在突出显示 S 的地方,是否可以将背景颜色(仅限所选尺码的颜色)更改为其他颜色?我尝试使用 select:active {
计划 public class Project_X { public static void main(String[] args){ byte x; int a=270
我只想通过 BLE 连接两部安卓手机。是否可以?因为根据我对使用 Android API 的理解,我只能连接支持 BLE 的设备,如智能 watch 耳机等。如果我运行 startLescan() 方
我现在一直在使用 flutter Blue,但我坚持以下几点:我正在使用在 https://github.com/pauldemarco/flutter_blue 上下载的示例应用程序,通过这里的基本
最近我安装了 Blue Ocean 插件,但是我不知道如何使用插件的 UI 来编辑或创建管道。 当我在 Blue Ocean 中创建新管道并与 GitLab 存储库连接时,我无法选择创建/编辑管道(J
我正在尝试使用 Blue Ocean 创建 Jenkins 管道,但是当我尝试使用 GitHub 生成的访问 token 连接到我的 GitHub 时,没有任何反应。但是,当我检查控制台时,我收到此错
我正在做一个涉及 Beaglebone blue 的个人项目。我想从任何地方远程访问它。我不确定这样做的最佳方法是什么。我知道我可以只转发一个相应的端口(不安全)或类似的东西,但我想避免太多的安全漏洞
我是一名优秀的程序员,十分优秀!