私は私のアプリで地域のモニタリングを採用しようとすると、私の知る限り理解し、これはアプリでもバックグラウンドでない場合であっても二つの方法、didEnterRegion
とdidExitRegion
をトリガします。
これは、これらの関数が基本的なアプリケーション環境で呼び出されるコードのブロックであるが、その周りのすべてがゼロにされているかのように、関数を認識せずに関数を呼び出すことがあります。たとえば、CLLocationManagerを作成した場合、これは現在ではNULLになり、新しいインスタンスを作成する必要があります。私がする必要がどのようなCLLocationManagerからどれくらいの頻度でアップデートを入手できますか?
は、CLLocationManagerから現在位置を取得することですが、私はこれを使用することができますか?
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = 0;
[locationManager startUpdatingLocation];
CLLocation *currentLocation = [locationManager location];
はcurrentLocation
良い値を保持するか、これは、デリゲートメソッドdidUpdateLocations
にのみ起こるのだろうか?
デリゲートは、約2〜3秒で場所を持つことになりますが、あなたは、デリゲートが初めて呼び出されたとき、それはデリゲートに正しいよりも2〜3回にヒットした後に、それが正しい値を保持していないことを知っている必要があります値は –
になります。distanceFilterには、必要に応じていくつかの値を割り当てる必要があります。それ以外の場合は、デバイスのバッテリーを吸ってください。あなたのアプリがiOSによって殺された場合、バックグラウンド位置サービスを再起動することを忘れないでください。 –
@SunilSinghバックグラウンド位置サービスを再開するとどういう意味ですか? – Ted