10

estimote ビーコンとリージョンを使用していくつかのテストを行っています。

地域の監視を開始するときにドキュメントを読んで、特定の地域が監視されていることをデリゲートに伝えますが、解雇されることはありませんdidEnterRegiondidExitRegion

私の代理人が発砲します:

-(void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region

- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region

にエラーが発生するかどうかを確認しませんでしたlocationManager:didFailWithError:

現時点では、状態を使用して、didEnter と didExit として機能する 2 つのプライベート メソッドを手動で実行しています。この場合、リージョンも監視できますが、なぜlocationManager:didEnterRegion:locationManager:didExitRegion:が呼び出されないのかわかりませんでした。

誰かが同じ行動に直面していますか?

4

3 に答える 3

0

これはうまくいくはずです。監視を設定する残りのコードを確認したいのですが、didEnterRegion didExitRegion および didDetermineState に NSLog ステートメントを配置します (状態値もログに記録します)。

iOS がリージョンの移行が発生していないと考えている可能性があります。つまり、常にリージョン内にいるため、移行が発生していません。バックグラウンドでトランジションが発生するまでに最大 15 分かかる場合があります (ただし、フォアグラウンドでレンジングしている場合は、「アウト」で 4 秒以内、「イン」で 1 秒以内である必要があります。http://developer.radiusnetworks を参照してください。 com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html

region.notifyEntryStateOnDisplay=YES;監視対象地域に設定して、肩ボタンを押すことで、地域内/地域外へのコールバックを強制できます。これにより、監視コールバックが強制されます。これを実行しても、上記で追加することを提案したログ ステートメントが表示されない場合は、非常に驚​​かれることでしょう。

于 2013-11-27T13:07:56.300 に答える
0

私はほとんどすべてを試しましたが、うまくいきませんでした。次に、iPhoneを再起動するだけで...動作し始めました。信じられない。私はEstimote Beaconsでこの問題を抱えていました.

于 2014-04-07T13:19:58.063 に答える