ios - didUpdateHeading 未调用

标签 ios objective-c iphone

我想用罗盘来更新航向。但是我的 didUpdateHeading 没有调用。我是 iOS 的新手。请帮助任何帮助将不胜感激。

@interface ViewController : UIViewController<CLLocationManagerDelegate>
@property (nonatomic, retain) CLLocationManager     *locationManager;
locationManager=[[CLLocationManager alloc] init];
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    locationManager.delegate=self;
    //Start the compass updates.

    [locationManager startUpdatingHeading];

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    NSLog(@"New magnetic heading: %f", newHeading.magneticHeading);
    NSLog(@"New true heading: %f", newHeading.trueHeading);
}

最佳答案

您提供的代码(假设您在粘贴此处时没有更改任何内容)缺少运行第一部分的函数或代码块,我建议您将其放在 viewController init 中,像这样:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {        
         locationManager=[[CLLocationManager alloc] init];
         locationManager.desiredAccuracy = kCLLocationAccuracyBest;
         locationManager.delegate=self;
         //Start the compass updates.

         [locationManager startUpdatingHeading];
    }
    return self;
}

关于ios - didUpdateHeading 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32134447/

相关文章:

ios - 标记 Xcode 以简单地不编译某些方法?

iphone - 支持横向一圈UIVIEWS :

iphone - 倒带 30 秒音频并以 2 倍速度播放

ios - 我可以将 CGContextRef 传递给从 drawRect 调用的方法吗?

ios - 绑定(bind)模型和 View : how to observe object properties

ios - 如果使用Xcode 13.5.1进行编译,则TestFlight中的app崩溃,但是如果使用Xcode 10.3进行编译,则该应用程序可以工作

ios - 由于方法调用,Tableview 滚动速度变慢

ios - Firebase 数据库不离线返回值

objective-c - 带有 NSOPERATION 和 ARC 的 EXC_BAD_ACCESS

ios - Firebase 深层链接 Web URL 查询为空 - iOS