OGeek|极客世界-中国程序员成长平台

标题: iphone - 点击 "OK"后首次运行 GPS 未启动 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:00
标题: iphone - 点击 "OK"后首次运行 GPS 未启动

单击“想使用您当前的位置”消息中的“确定”后,GPS 在首次运行时未启动。我有一个表格 View 来显示当前位置周围的地名。表中没有 map View ,只是使用了 CoreLocation 框架。当我第一次构建并运行我的应用程序并进入表格 View 时,著名的消息““myApp”想使用您当前的位置“跳出来。单击“确定”按钮后,GPS 未运行。但是当我再次进入表格 View 时,GPS 运行良好。

问题是:点击“确定”按钮后,如何让 GPS 在首次启动时运行?提前致谢!

编辑 1

- (void)viewDidAppearBOOL)animated
{
    [super viewDidAppear:animated];

    CLLocationManager *locationManager = [[[CLLocationManager alloc] init] autorelease];
    [locationManager setDelegate:self];    

    [locationManager startUpdatingLocation];    
}

是否检测到“想使用您当前的位置”消息的“确定”按钮被点击?



Best Answer-推荐答案


给你看一些代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {

         [NSTimer scheduledTimerWithTimeInterval:2 target:self     selectorselector(timerFired userInfo:nil repeats:YES];

    }
}

- (void)timerFiredNSTimer*)theTimer{

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
        [self startUpdatingCurrentLocation];
        [theTimer invalidate];
    } 
    [self startUpdatingCurrentLocation];

}

计时器会一直等待,直到经过一定的时间间隔,然后触发,将指定的消息发送到目标对象。 NSTimer Reference.

如果用户按下“确定”按钮,计时器可以以透明的方式第二次执行启动 GPS。如果没有,计时器将继续检查 GPS 状态,直到应用获得用户的选择。

关于iphone - 点击 "OK"后首次运行 GPS 未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872491/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4