私は現在、クライアントが自宅から 150 メートル以内に到着したときに、ガレージを開けたり、リビング ルームやオフィスの照明をオンにしたり、その他のことを行うクライアント向けのホーム オートメーション アプリを作成しています。彼らが去るとき、それは反対のことをします。ジオフェンシングが iOS に組み込まれていることに非常に感謝しています。この機能は、アプリがフォアグラウンドにあるときは完全に機能しますが、ユーザーがアプリを閉じても電話がまだジオフェンスを監視している場合、イベントが発生してもアプリは何もしません。locationManager:didEnterRegion: 以外に、アプリへのバックグラウンド通知用に実装する必要がある別のメソッドはありますか? これが私が今使っているコードです:
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
NSLog(@"Entered Region - %@", region.identifier);
[self showRegionAlert:@"Entering Region" forRegion:region.identifier];
[self sendCommand:true];
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"Exited Region - %@", region.identifier);
[self showRegionAlert:@"Exiting Region" forRegion:region.identifier];
[self sendCommand:false];
}