iPhone CoreLocation框架不适用于XCode SDK 3.2.4,模拟器4.1和XCode SDK 3.2.3,模拟器4.0.X和iTouch设备,OS 4.1

时间:2010-10-01 18:13:38

标签: iphone objective-c cllocationmanager

面临严重问题。

实现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

得到一些提示 Location Manager Error : (KCLErrorDomain error 0)

冷酷是iTouch上的WiFi或互联网问题。我无法理解为什么它不能在模拟器上工作,因为它适用于iPhone模拟器3.1.3,至少默认它会显示Infinite Loop,CA(Apple总公司地址)。是否可以完全删除此默认地址?

是否有人使用开发人员支持向Apple询问此问题或带有完整CL框架的文档以获取模拟器和其他设备?

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

你可以尝试一件事,

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