HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iOS等待位置管理器初始化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发基于地图和位置跟踪的iOS应用程序.当用户首次启动应用程序时,它会要求获得跟踪位置等的权限.唯一的问题是,当它正在这样做时,我有代码用户点击OK之前设置初始地图视图和其他基于位置的变量.

我发现我可以在while循环之后放置这些启动步骤,等待用户更改位置管理器的权限,如下所示,但这不可能是最佳实践,更不用说它会导致一些奇怪的行为启动画面和地图:

BOOL firstrun = TRUE;
while ([[LOCATIOnManager class] authorizationStatus] == kCLAuthorizationStatusDenied || [[LOCATIOnManager class] authorizationStatus] == kCLAuthorizationStatusnotDetermined) {
    NSLog(@"WaiTing for LOCATIOn permission");
}
...initiation code...

警报框是否有“位置访问权限”监听器或者我不知道的位置管理器委托中的类似功能?我在文档中看不到这样的方法.谁知道最好的做法是什么?非常感谢.

编辑
我按如下方式开始我的位置跟踪:

if (nil == LOCATIOnManager)
    LOCATIOnManager = [[CLLOCATIOnManager alloc] init];

[LOCATIOnManager startMonitoringSignificantLOCATIOnChanges];

self.musicmap.delegate = self;
[self.mymap setShowsUserLOCATIOn:true];

谢谢

解决方法

我建议你的类成为CLLOCATIOnManagerDelegate,然后实现这个方法
- (void)LOCATIOnManager:(CLLOCATIOnManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
    //Your code goes here
}

有关CLLOCATIOnManagerDelegate的更多信息,请访问here.

希望有所帮助!

大佬总结

以上是大佬教程为你收集整理的iOS等待位置管理器初始化全部内容,希望文章能够帮你解决iOS等待位置管理器初始化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。