函数“didUpdateToLocation”被调用而不进行任何更改

2024-02-07

我这样初始化 locationManager:

if (!self.locManager) 
{
    self.locManager = [[CLLocationManager alloc] init];
    self.locManager.delegate = self;
    [locManager startMonitoringSignificantLocationChanges];
}

我的设备没有移动,但每次仍然调用“didUpdateToLocation”。 可能有什么问题? 谢谢


didUpdateToLocation可能会因多种原因而更新,处理此问题的一个好策略是根据时间戳逐渐过滤结果,然后再根据要求的准确性进行过滤。

苹果公司提供了一个很好的例子LocateMe 示例应用程序 http://developer.apple.com/library/ios/#samplecode/LocateMe/Listings/Classes_GetLocationViewController_m.html#//apple_ref/doc/uid/DTS40007801-Classes_GetLocationViewController_m-DontLinkElementID_8:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    // test the age of the location measurement to determine if the measurement is cached
    // in most cases you will not want to rely on cached measurements
    NSTimeInterval locationAge = -[newLocation.timestamp timeIntervalSinceNow];
    if (locationAge > 5.0) return;

    // test that the horizontal accuracy does not indicate an invalid measurement
    if (newLocation.horizontalAccuracy < 0) return;

    // test the measurement to see if it is more accurate than the previous measurement
    if (self.bestEffortAtLocation == nil || self.bestEffortAtLocation.horizontalAccuracy > newLocation.horizontalAccuracy)
    {
        // store the location as the "best effort"
        self.bestEffortAtLocation = newLocation;

        // test the measurement to see if it meets the desired accuracy
        //
        // IMPORTANT!!! kCLLocationAccuracyBest should not be used for comparison with location coordinate or altitidue 
        // accuracy because it is a negative value. Instead, compare against some predetermined "real" measure of 
        // acceptable accuracy, or depend on the timeout to stop updating. This sample depends on the timeout.
        //
        if (newLocation.horizontalAccuracy <= locationManager.desiredAccuracy) {
            // we have a measurement that meets our requirements, so we can stop updating the location
            // 
            // IMPORTANT!!! Minimize power usage by stopping the location manager as soon as possible.
            //
            [self stopUpdatingLocation:NSLocalizedString(@"Acquired Location", @"Acquired Location")];
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数“didUpdateToLocation”被调用而不进行任何更改 的相关文章

  • 将非活动 UIView 捕获为 UIImage

    下面的代码运行良好 但只抓取屏幕上可见的 UIView 如何获取当前未显示的 UIView Thanks Take a screenshot of the view UIGraphicsBeginImageContext View 1 fr
  • React Native 模块中的 EADemo 永远不会收到委托方法handleEvent NSStreamEventOpenCompleted?

    我希望我有一个反应本机桥接模块 https facebook github io react native docs native modules ios html 线程 委托或生命周期问题 我不明白这些问题正在阻止接收委托方法调用 我需要
  • 使用 JavaScript 捕获 iPhone 虚拟键盘中的“完成”按钮点击

    我想知道是否有一种方法可以使用 JavaScript 捕获 iPhone 虚拟键盘的完成按钮事件 基本上 我只是希望能够在用户单击 完成 时调用 JS 函数 我无法跟踪单击的 完成 按钮 它没有注册任何clicks or keypresse
  • 应用程序终止和设备重启后 PushKit 通知未到达

    借助 PushKit 我的 iOS 应用程序即使已关闭也能成功接收 VoIP 推送通知 失败时只有一个条件 如果我通过标准任务切换器刷出 终止 我的应用程序并重新启动我的设备 起初 我在重新启动设备后就遇到了这个问题 如这个问题所述 排除启
  • 如何停止覆盖数据

    我正在尝试在我的 iOS 应用程序中保存一些数据 我使用以下代码 NSArray paths NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDomainMask
  • 如何在 ios 应用程序中将 .svg url 显示为图像

    我从服务器获取 svg 网址 如何在我的应用程序中将其显示为图像 我尝试在 UIWebView 中显示它 但无法调整内容图像的大小 我正在使用这个代码 let request NSURLRequest NSURLRequest url UR
  • 核心蓝牙和后台:检测设备并触发操作,即使在后台模式几天后?

    我编写了一个应用程序 需要在某个低功耗蓝牙设备进入范围内时收到通知 如果 BLE 设备被注意到 我的应用程序只会存储一个时间戳 正如 WWDC 2012 核心蓝牙视频中所述 使用核心蓝牙时 应用程序有两种在后台模式下运行的可能性 活动背景
  • iOS 9 + Xcode 7 的 Segue 上的应用程序导致整个设备崩溃

    更新 我已经在这一年中使用了我的一个 DTS 目前与 Apple 支持工程师合作 根据他的建议 我还为此创建了一个错误报告 随着时间的推移 我将更新此线程 希望能产生最终的解决方案 不知何故 我找到了一种方法来创建一个可以真正重新启动模拟器
  • 获取 NSLayoutConstraints 关联视图

    我试图循环遍历视图约束 我向 view1 添加了 顶部 尾部 前导和高度约束 top trailing 和leading 是主ViewControllers 视图 如果我循环查看 view1 的约束 我只会看到高度约束 for constr
  • OCUnit 无法识别导入的文件

    我正在我的 iPhone 应用程序上使用 XCode 3 2 3 和 iOS 4 0 上的 OCUnit 进行单元测试 我已成功设置测试环境以适当地通过和失败基本测试 但是当我导入自己的文件 在本例中为 UserAccount h 时 它无
  • iOS 应用程序中的屏幕共享? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想与运行相同应用程序的其他设备共享
  • AVAssetExportSession 前置摄像头方向错误

    我仅在前置摄像头中使用 AVAssetExportSession 导出的视频方向错误 我按照这个教程https stackoverflow com a 35368649 3764365 https stackoverflow com a 3
  • Xcode如何将目标打包为.framework(而不是.a库)

    我有一个通用框架项目 其中包含一个库作为其主要目标 在产品下是带有 lib 前缀和 a 扩展名的库 请参阅下面的屏幕截图 我正在使用一个第三方项目 其中包含一个框架作为其目标 并且在 产品 下是具有 framework 扩展名的框架 请参阅
  • iOS Javascript DOM“冻结?”

    这里有几个问题 有没有办法阻止 iOS 在滚动时冻结页面上的 javascript 当您在另一个选项卡中或切换应用程序时 iOS 是否会冻结 JavaScript iOS 上还有其他主要的 javascript 限制吗 iOS 6 x 会暂
  • 应用内购买自定义价格

    我已经搜索了一段时间 但它可能太明显了 人们不会发布它 我想知道是否可以为产品设定动态价格 我有送货申请 价格可能会因距离而异 此外 它也可以是非整数价格 例如 2 43 美元 是否可以 另外 我无法在 iTunes Connect 上设定
  • 使用 AFNetworking 2.0 发布 JSON 数据

    我有一个 Web 脚本 它通过 HTTP POST 请求接受 JSON 字符串作为输入 我遇到过几个相同的 AFNetworking 1 x 示例 任何人都可以指出我或提供 AFNetworking 2 0 示例 以对使用格式化 JSON
  • 在表中滚动时,“EXC_BAD_ACCESS”、“-[CFString release]:发送到已释放实例的消息”

    滚动时出现以下错误UITableview EXC BAD ACCESS CFString keep 发送到已释放实例的消息 我怎样才能找到已解除分配的实例 这是我的 noOfRowsinsection 代码 for int i 0 i
  • 从子视图导航控制器访问顶部导航控制器

    我有一个像这样设置的视图和控制器 标签 栏控制器 1 内是根视图控制器 2 内是一个以编程方式创建的导航控制器 它在根视图控制器中显示为子视图 我想做的是访问顶部选项卡栏 导航控制器 以便我可以将视图推送到上面 我尝试了parentView
  • 如何实现pickerView类的didSelectRow方法?

    我以前从未使用过选择器视图 我认为它类似于表视图类的 func tableView tableView UITableView didDeselectRowAtIndexPath indexPath NSIndexPath 方法 但是我无法
  • CoreGraphics 在 iPhone4 上比在 3G/3GS 上慢

    我有一个用 CoreGraphics 绘制的图表 该图表可以水平滚动 并且当我们滚动它时就会绘制它 问题是 在 3G 3GS 上 滚动的速度和性能良好 但在 iPhone 4 上却比预期慢 我认为这是与 iPhone 4 的高分辨率有关的问

随机推荐

  • 如何为子文档创建 mongoDb 模式

    我有如下文件 这里peoples包含指向用户集合的 ObjectId 数组 和contribution字段包含的子文档数量为peoples场地 长度是可变的 就像某个组有 2 个 ObjectId 一样people then contrib
  • 如何使 Plotly 图形动画工作

    你好 我正在尝试使用 Plotly v4 6 一切正常 我可以看到所有图表 除非我尝试从网站复制动画图表 import plotly express as px df px data gapminder px scatter df x gd
  • 如何将 wand.image.Image 转换为 PIL.Image?

    我花了一整天的时间来解决这个问题 但在堆栈溢出中没有看到答案 我尝试过这个但没有成功 gt gt pil image Image frombytes RGBA wand image size wand image make blob for
  • 无法解析:com.google.android:flexbox:1.1.0

    所以我正在尝试同步 android studio 项目 但 flexbox 始终无法解决 据我所知 所有相关的存储库都包含在内 我尝试了多个互联网连接 不涉及代理 但无济于事 我也尝试过不同版本的 Flexbox 这是我的应用程序 buil
  • 错误:PlatformNotSupportedException:不支持配置文件或 .NET Core 6 如何使用 SOAP .NET Framework wcf

    我有 Dot Net Framework 3 5 Web 服务 http www dneonline com calculator asmx http www dneonline com calculator asmx我想在 dot Net
  • 尝试从客户端访问 Node/Express 端点时出现 404 Not Found

    我有一个 Node js Express REST API 可供前端 React 应用程序访问 用于库存管理系统 用于车库销售 当尝试添加新产品时 我尝试访问 POST 路由http localhost 3001 api new 然而 当我
  • Symfony2:没有会话/控制器的区域设置切换器实现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 所以 3 5小时后似乎一切正常 两页
  • .dialog("close") 和 .dialog("destroy") 之间的区别

    有什么区别 dialog close and dialog destroy 在 jquery ui 中 我有一个以前的开发人员使用过的脚本 dialog destroy 但现在我必须在对话框关闭后执行一些操作 我找到了beforeclose
  • 我可以使用 Magento 的缓存层作为键/值存储吗?

    我可以使用 Magento 的缓存层作为类似于 memcached 或 apc 的键 值存储吗 很高兴能够不用担心正在使用什么缓存引擎并且仍然缓存一些代码 进一步说明 我希望 Magento 在我对其进行一些 JOINS 操作后缓存我的 C
  • 迁移错误:Gem:Module 的未定义方法“缓存”

    通过 Rails 应用程序迁移时出现此错误 Gem Module 的未定义方法 cache Am using 轨道 3 2 9 红宝石 1 8 7 乌班图12 04 rake db migrate trace home rajendran
  • 如何在 Swift 中为 UIView 子类编写自定义 init?

    说我想要init a UIView子类具有String and an Int 如果我只是子类化 我该如何在 Swift 中做到这一点UIView 如果我只是定制init 函数 但参数是一个 String 和一个 Int 它告诉我 在从初始化
  • pyinstaller错误:找不到scipy(没有名为_ufuncs_cxx的模块)

    我正在使用 pyinstaller 将 python 脚本转换为 Ubuntu 14 04 中的二进制文件 我使用 Canopy Enthought 来管理所有 python 库 该代码使用networkx numpy 和scipy 这是我
  • Java 的去中心化集群库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在android中绘制镜像位图

    我正在尝试学习如何在 android 中制作动画精灵 但不知道如何组织我的位图 我有一个角色向右行走的精灵表 一个角色的五个副本的位图 在一个行走周期中等距 每 45 像素 我计划通过一次绘制精灵表位图的一小部分来绘制每个帧 方法是 Rec
  • 实现将内容插入数据库的秘密电子邮件功能

    所以我见过其他大公司 比如 Facebook 这样做 你可以通过电子邮件发帖 这就是我的情况trying to do 用户注册并生成随机电子邮件 密钥 这一步就完成了 然后根据密钥创建实际的工作电子邮件 用户可以在向密钥发送电子邮件的同时输
  • 按钮不适用于更新面板

    我在更新面板中放置了一个计时器和一个用于显示倒计时时间的标签 我已放置下一个按钮 用于在更新面板之外显示下一个问题 我的问题是按钮单击不适用于更新面板 在不使用更新面板和计时器的情况下 它运行良好 我该如何解决这个问题 我还尝试将整个工具放
  • R:xts 中的错误 - order.by

    我正在尝试 重新 构建标准普尔 500 指数的基本预测模型 数据来自雅虎财经 我在数据集的 排序 方面遇到了一些困难 在构建data model期间出现以下错误 xts new x x index 中的错误 NROW x 必须匹配长度 or
  • 从注册表c#检查Windows版本[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有个问题 如何在 C 中从注册表中检查 Windows 版本 Windows XP 至 Windows 8 1 Environment
  • 警告:org.springframework.web.servlet.PageNotFound - 不支持请求方法“GET”

    我在启动服务器时遇到此异常 HTTP Status 405 Request method GET not supported 我的控制器是 Controller public class HomeController private sta
  • 函数“didUpdateToLocation”被调用而不进行任何更改

    我这样初始化 locationManager if self locManager self locManager CLLocationManager alloc init self locManager delegate self loc