CLLocationManager不回调方法:
locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status;
经用户许可。
我在单例类(经理类)中分配CLLocationManager
实例,将委托分配给self,一切看起来都很好,但是没有用。
此外,我的应用程序中有许多多线程逻辑,我认为,问题是死锁或其他与多线程相关的问题。
如何揭示问题所在。
P.S。我也试过打电话
startMonitoringSignificantLocationChanges;
在主线程上,这没有帮助。
答案 0 :(得分:1)
好的,经过几个小时的尝试,我发现了这个: post
解决方案是在主线程上分配CLLocationManager。
答案 1 :(得分:0)
您对CLLocationManager
有强烈的引用吗?它应该是类实现中的强属性@property CLLocationManager *myManager;
或ivar(实例变量)。如果您在函数/方法中实例化CLLocationManager
,并且没有任何引用,它将在您完成该函数后立即释放。
对该实例有强烈的引用。
答案 2 :(得分:0)
viewDidLoad
被调用,分配/初始化CLocationManager。
- (void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
}