2016-06-01 6 views

答えて

1

CLLocationManagerの「実行中」ステータスを確認するAPIはありません。クラス内でCLLocationManagerをラップする(またはサブクラス化する)ことができ、このカスタムクラスで "実行中"の状態を持つことができます。

おそらくこのような何か:

スウィフト:

class MyLocationManager: CLLocationManager { 
    var running: Bool 

    override init() { 
     running = false 
     super.init() 
    } 

    override func startUpdatingLocation() { 
     super.startUpdatingLocation() 
     running = true 
    } 

    override func stopUpdatingLocation() { 
     super.stopUpdatingLocation() 
     running = false 
    } 

} 

にObjC:

@interface MyLocationManager : CLLocationManager 
@property (nonatomic, assign) BOOL running; 
@end 

@implementation MyLocationManager 
- (void) startUpdatingLocation 
{ 
    [super startUpdatingLocation]; 
    self.running = YES; 
} 

- (void) stopUpdatingLocation 
{ 
    [super stopUpdatingLocation]; 
    self.running = NO; 
} 
@end 

PS:このクラスはスレッドセーフではありませんが、あなたはアイデア

を取得
関連する問題