ユーザーがクライアントの店舗に近づいたかどうかを確認するアプリがあり、店舗の近くにいることを知らせる通知がアプリから送信されます。重要な位置の変更監視がバックグラウンド中に停止する
もちろんジオフェンシング(locationManager: didEnterRegion
)を使用していますが、20以上の店舗がありますlocationManager: didUpdateLocations
私はユーザーに最も近い20の店を並べ替えています。
私もAppDelegate
に同じlocationManager
を使用したいので、私は(AppDelegate
に私のCLLocationManager
この方法を設定し、オブジェクトに私のViewController
locationManager
プロパティを設定しています:
-(void)configureLocationManager
{
//Initializing "locationManager"'s(CLLocationManager)
self.locationManager=[[CLLocationManager alloc] init];
//Setting "locationManager"'s(CLLocationManager)'s delegate to "monitorLocationVC"(monitorLocationViewController)
self.locationManager.delegate=self.monitorLocationVC;
//Setting "locationManager"'s(CLLocationManager)'s distance filter to 10
self.locationManager.distanceFilter=10;
//Setting "locationManager"'s(CLLocationManager)'s activityType to navigation
self.locationManager.activityType=CLActivityTypeAutomotiveNavigation;
//setting "locationManager"'s(CLLocationManager) desiredAccuracy to "best"
self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;
//Setting "locationManager"'s(CLLocationManager)'s pausesLocationUpdatesAutomatically to NO
self.locationManager.pausesLocationUpdatesAutomatically=NO;
//If OS version is 9 or above - setting "allowsBackgroundLocationUpdates" to YES
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9) {
self.locationManager.allowsBackgroundLocationUpdates = YES;
}
}
今ではすべてまでうまくいきましたが、数分後にアプリが実行中であることを知らせるようになりました(約15分後に突然停止する)。
注:アプリを起動するときにそのホーム画面(ちょうど通常の起動)アプリがクラッシュする、それは問題になる可能性がありますか?
ありがとうございました!
チェックこのhttps://github.com/voyage11/Location – kb920
@ kb920アプリがするまで完全に働きました今、コードが正しいので、私はアプリケーションが重要な位置の変化を監視するのを止めるバグを探しています –
クラッシュログは何ですか? – kb920