【发布时间】:2011-08-23 14:31:32
【问题描述】:
在与 iPhone 捆绑在一起的地图应用程序中,每当关闭位置服务并且用户尝试使用位置服务时,我们总是会收到以下警报消息:
打开定位服务以允许“地图”确定您的位置 |设置 |取消
请注意,上述警报中的两个按钮是设置和取消。
现在的问题是,我们是否可以在我们都开发的位置感知第三方应用程序中获得与上述完全相同的行为。为了更详细地解释这个问题,假设我们正在开发名为“Abc”的位置感知应用程序。每次我们调用需要定位服务的“Abc”应用程序部分时,如果定位服务关闭,我们需要得到以下警报消息。
打开定位服务以允许“Abc”确定您的位置 |设置 |取消
我确实在我的位置感知应用程序中尝试了以下代码作为实现文件的一部分,但在显示要求用户打开位置的所需警报消息方面,它的行为方式与地图应用程序不同服务,如果它目前已关闭。
@implementation LocationViewController
@synthesize locationManager
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
locationManager.delegate = self;
[locationManager startUpdatingLocation];
在相关的头文件中,我有以下代码
@interface LocationViewController:UIViewController<CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
@property(nonatomic, retain) CLLocationManager *locationManager;
@end
是否需要使用其他一些 API 来获得上述行为(如在地图应用程序中)或者第三方位置感知应用程序是否根本不可能实现 iOS 所需的行为4.x。请在此分享您的 cmets。
【问题讨论】:
标签: iphone objective-c ios ipad