4

リージョン内でアプリを起動すると、アプリが didEnterRegion イベントを発生させないという問題があります。リージョン外でアプリを起動してからリージョンに入ると、起動します。リージョン内でアプリを起動し、リージョンを離れてからリージョンに再度入ると、アプリが起動します。

それが地域にある場合、アプリが開かれるとすぐにそれを起動する方法についての提案は大歓迎です!

4

4 に答える 4

6

このコードを使用することをお勧めします

[locationManager requestStateForRegion:region];

そしてデリゲート メソッド didDetermineState: を使用して、状態が CLRegionStateInside または CLRegionStateOutside であるかどうかを確認します。

于 2014-01-15T10:07:49.317 に答える
3

私はあなたがそれを行うことができるとは思わない.

ただし、現在の場所を取得して、指定した地域内にあるかどうかを確認できます。CLCircularRegionこれにはcontainsCoordinate:メソッドがあります。

于 2013-08-20T20:02:13.287 に答える
2

最初の結論はdidEnterRegion、その名前と一貫して実装されているということです。:)

に次のようなものを実装しますCLLocationManagerDelegate

- (void)      locationManager: (CLLocationManager *) manager
  didStartMonitoringForRegion: (CLRegion *) region
{
  if ([self insideRegion: region location: manager.location])
    [self locationManager: manager
           didEnterRegion: region];
}
于 2013-08-20T20:21:23.550 に答える