gpt4 book ai didi

与手机更换无关的 iphone 重要位置事件

转载 作者:技术小花猫 更新时间:2023-10-29 11:24:04 24 4
gpt4 key购买 nike

我一直在 ios 上使用重要的事件位置管理器,但它似乎并不像声称的那样基于单元格更改。

我使用了一个利用重要位置事件的简单应用程序,但我无法从 ios sdk 获得可重复、一致或敏感的响应。

我在下面的 map 上绘制了路线(蓝线)、手机信号塔(位置标记)和 1000 平方米的网格(蓝色方 block )。 map showing route

路线距离为 5000 米。

我开了 3 次。

  • 测试 1。收到 2 个 SIG 事件
  • 测试 2。没有
  • 测试 3。收到 1 个签名事件

在你提示我的测试太小之前,我已经监控其他测试路线好几天了,都显示出不一致的形状。

我原以为 sig 事件是基于基站切换的。所以我使用了一个名为“信号”的越狱应用程序来识别什么是事件单元格。 (注意,令人惊讶的是哪个细胞处于事件状态。这不是我所期望的。)

通过监控“信号”应用程序,细胞从我注意到的情况下切换了大约 6-7 次。

但我没有收到 6-7 个签名事件。所以我看不出细胞切换和重大事件之间有任何关联。

所以我有以下问题

  • Q1。什么是重大事件触发因素?
  • Q2。为什么结果不可靠/不一致。
  • Q3。我怎样才能让我的应用程序接收到 500m 以内一致且敏感的重要事件?

这是在测试应用中运行的代码

 -(void)initLocationManager {
if (locationManager == nil) {
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
[locationManager stopUpdatingLocation];
[locationManager startMonitoringSignificantLocationChanges];

}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self initLocationManager];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
NSLog(@"%@", newLocation);
[[NSNotificationCenter defaultCenter]
postNotificationName:@"PositionUpdate" object:nil];
}

-lp

最佳答案

重要的位置更改由 iOS 确定,您无法直接更改其粒度。请注意,只有在 iOS 4 中才使用手机信号塔位置。操作系统的 future 版本将改进这一点。

但作为一种解决方法,您可以在应用程序因位置发生重大变化而被唤醒/启动时打开正常的 CoreLocation 位置更新。然后,一旦您获得了完美的结果,请再次禁用位置监控以允许该应用返回休眠状态。

关于与手机更换无关的 iphone 重要位置事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com