等到当前位置在 didFinishLaunchingWithOptions 中设置

Posted

技术标签:

【中文标题】等到当前位置在 didFinishLaunchingWithOptions 中设置【英文标题】:Wait Until Current Location is set in didFinishLaunchingWithOptions 【发布时间】:2011-01-21 16:21:07 【问题描述】:

我的主页 UIView 需要当前位置坐标,我不希望在获得这些坐标之前调用它。我怎样才能最好地做到这一点?

在这段代码中,视图在当前位置更新之前被调用:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

        currentLocation = [[CLLocation alloc] init];
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];

TTNavigator *navigator = [TTNavigator navigator];
            navigator.persistenceMode = TTNavigatorPersistenceModeAll;
            TTURLMap *map = navigator.URLMap;

            [map from:@"tt://HomeView" toViewController:  viewController];
            [navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://HomeView"]];
        

【问题讨论】:

【参考方案1】:

用户可以关闭定位服务。所以我不会那样做.. 而是在 didFinishLaunchingWithOptions 之后检查位置,以便解决您当前的问题。 并添加一个屏幕供用户在位置服务关闭时打开它。

【讨论】:

没有定位服务,应用就没用了。 是的,我明白了.. didFinishLaunchingWithOptions 不是检查的好地方.. 如果用户不允许使用定位服务,您的应用将永远无法打开。至少显示一些消息让用户知道。

以上是关于等到当前位置在 didFinishLaunchingWithOptions 中设置的主要内容,如果未能解决你的问题,请参考以下文章

等到 GPS 启用,然后在 FusedLocationAPI 中获取 lat 和 long 值

C#如何让函数等到完成某件事?

需要 android 活动才能等到获得 GPS 位置

AsyncTask 等待位置

如何让我的不和谐机器人等到当前歌曲结束而不是在添加新歌曲时跳过队列中的当前歌曲

等到 ListView smoothScrollToPosition() 完成