リージョン内でアプリを起動すると、アプリが didEnterRegion イベントを発生させないという問題があります。リージョン外でアプリを起動してからリージョンに入ると、起動します。リージョン内でアプリを起動し、リージョンを離れてからリージョンに再度入ると、アプリが起動します。
それが地域にある場合、アプリが開かれるとすぐにそれを起動する方法についての提案は大歓迎です!
リージョン内でアプリを起動すると、アプリが didEnterRegion イベントを発生させないという問題があります。リージョン外でアプリを起動してからリージョンに入ると、起動します。リージョン内でアプリを起動し、リージョンを離れてからリージョンに再度入ると、アプリが起動します。
それが地域にある場合、アプリが開かれるとすぐにそれを起動する方法についての提案は大歓迎です!
このコードを使用することをお勧めします
[locationManager requestStateForRegion:region];
そしてデリゲート メソッド didDetermineState: を使用して、状態が CLRegionStateInside または CLRegionStateOutside であるかどうかを確認します。
私はあなたがそれを行うことができるとは思わない.
ただし、現在の場所を取得して、指定した地域内にあるかどうかを確認できます。CLCircularRegion
これにはcontainsCoordinate:
メソッドがあります。
最初の結論はdidEnterRegion
、その名前と一貫して実装されているということです。:)
に次のようなものを実装しますCLLocationManagerDelegate
。
- (void) locationManager: (CLLocationManager *) manager
didStartMonitoringForRegion: (CLRegion *) region
{
if ([self insideRegion: region location: manager.location])
[self locationManager: manager
didEnterRegion: region];
}