1

面临严重的问题。

实现 CLLocationMangerDelegate 并使用以下代码:

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

但是方法

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

当它着火时,我得到:

错误域=kCLErrorDomain 代码=0“操作无法完成。(kCLErrorDomain 错误 0。)”

我正在使用带有 WIFI 的 OS 4.1 的 iTouch 设备上对此进行测试。这也会在控制台中给出与上面提到的相同的错误。

有没有人遇到过这种情况,或者任何人都可以帮助我解决这个问题。有没有办法检测 CLLocationManager 在设备上是否正常工作。

我在这个链接上找到了一些类似的讨论,但还没有解决方案!

http://www.iphonedevsdk.com/forum/iphone-sdk-development/52267-cllocationmanager-not-getting-called-iphone-os-4-0-a.html

从位置管理器错误中得到一些提示 :(KCLErrorDomain 错误 0)

冷是 iTouch 上的 WiFi 或互联网问题。我不明白为什么它不能在模拟器上工作,因为它可以在 iPhone 模拟器 3.1.3 上工作,至少默认情况下它会显示 Infinite Loop,CA(Apple 总部地址)。难道这个默认地址被完全删除了?

任何使用开发人员支持向苹果询问此问题或包含用于模拟器和其他设备的完整 CL 框架的文档?

提前致谢。

4

2 回答 2

0

你说的是 iTouch 设备。我假设您的意思是 iPod Touch 设备,对吗?

iPod Touch 设备没有 GPS 芯片,因此您无法通过 GPS 确定位置。

iPhone 模拟器 3.1.3 的默认位置尚未删除。iOS 模拟器 3.2 及更高版本的模拟器位置代码已更改。

不过你可以尝试一件事,

分配您的 CLLocationManager 是另一种方法,它不是您的 viewDidLoad: 方法。用户需要授予应用程序获取位置的权限,如果您将代码放在 viewDidLoad 中,则弹出窗口可能不可用:我建议将代码放在 viewDidAppear 中。

于 2010-10-19T14:20:26.703 回答
0

我对它在模拟器中的工作原理的理解是,它会对您的 wifi 连接进行反向地理编码,而 afaik 无法通过触摸获得

于 2010-10-01T19:14:49.100 回答