gpt4 book ai didi

cocoa - CLLocationManager 不适用于非无线连接?

转载 作者:行者123 更新时间:2023-12-03 16:53:03 28 4
gpt4 key购买 nike

我有一个 Mac 应用程序,想要使用核心位置,但是,当我没有使用 wifi 但使用以太网电缆连接时,核心位置 (CLLocationManager) 报告操作无法完成。

确切的错误消息是

The operation couldn't be completed. (kCLErrorDomain error 0.)

如果我始终连接到同一个路由器(即 wifi 或以太网电缆),为什么 CLLocationManager 仅适用于 wifi 而不适用于以太网连接?

如有任何建议,我们将不胜感激。

谢谢。

编辑:

这是一些代码。

我将位置管理器定义为实例变量,如下所示

    locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:ICMinimumUpdateDistance];

然后我像这样监视位置管理器的委托(delegate)方法,

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{

// Filter out points before the last update
NSTimeInterval timeSinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:dateOfLastUpdate];

if (timeSinceLastUpdate > 0)
{
//Do stuff
}

}

我还使用委托(delegate)方法检查错误

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"Location Error:%@", [error localizedDescription]);
}

在上面的代码中,位置管理器使用无效的 newLocation(错误时间戳)进行更新,然后位置管理器调用委托(delegate)错误方法。

最佳答案

由于笔记本电脑中缺少 GPS,OSX 上的核心定位使用 ( skyhook ) 服务或类似服务。

该服务维护一个 WIFI 接入点及其位置数据库(可能由启用了 GPS 和 WiFi 的 iPhone 进行更新),并进行查询。

因此,通过提供您可以看到的接入点列表及其相对信号强度,系统能够粗略地对您所在的位置进行三角测量。

因此,您需要启用 WiFi 和有效的互联网链接(但互联网不需要通过 WiFi,您可以不关联机场)

关于cocoa - CLLocationManager 不适用于非无线连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492439/

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