2016-11-05 5 views
0

にバックグラウンドでiはestimote位置ビーコン、iPhoneの5S、IOSバージョン10didExitRegion:私のアプリケーションが殺されたときに呼び出さまたはIOS 10

didEnterRegionを使用する必要の1.5〜2分間の遅延:この方法はまた、40に30と呼ばれます秒遅れ。

iibeaconを監視するには、以下のコードを使用する必要があります。

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"CFC52BF4-FD33-4569-B4B5-5E9C220514A2"]; 


CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:1 identifier:@"Technostacks23"]; 

region.notifyOnEntry = YES; 
region.notifyOnExit = YES; 
// launch app when display is turned on and inside region 
region.notifyEntryStateOnDisplay = YES; 

if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) 
{ 
    [_locationManager startMonitoringForRegion:region]; 
    [_locationManager startRangingBeaconsInRegion:region]; 

} 

[self.locationManager startUpdatingLocation]; 



#pragma mark - CoreLocation Delegate method 
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region { 
//local notification fire 
} 

    -(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region { 
//local notification fire 
} 

このシナリオにどのように対処するか教えてください。

おかげ

+0

これはiOS 10の普遍的な問題ではありません。私はiOS 10デバイスで多くのテストを行い、通常、非常に速いバックグラウンド検出時間を見ます。私はtryrebootingし、ハードウェアアクセラレーションスロットを解放するためにあなた自身のほかに他のビーコンアプリをuniñstallingします。 – davidgyoung

+0

ありがとう@davidgyoung。 –

答えて

0

私はあなたが及ぶと同時に地域を監視することができるとは思いません。私はビーコンの範囲内にいる場合、私はユーザーに見せたいところで作った画面でこの問題を抱えていました。彼らが画面を離れるまで監視を停止してから、監視を再開しなければなりませんでした。レンジングのイベント(ビーコンとの距離)が必要ない場合は、その行をオフにしておきます。-didEnter-didExitの呼び出しを受ける必要はありません。また、-startUpdatingLocationのいずれも必要ないはずです。これは、アクティブなロケーションコールの場合のみです。

エントリイベントは通常すぐに発火します。ビーコンへの信号を失ったら、出口イベントは20〜30秒遅れます。

バックグラウンド実行時間の監視が途切れている可能性があります。時間がなくなり、停止した後、監視イベントを取得するためにドアを開けます。

+0

お返事ありがとうございます –

0
  1. コール、これは電源とバッテリー消費に役立つ、既にビーコンの地域ではなく、私はそれが領域検出少しスピードアップと考えているとき、それは文句を言わないビーコンのために及ぶようdidEnterRegionデリゲートメソッドでstartRangingBeaconsInRegion方法ビット。

  2. ビーコンの広告間隔を編集すると、350ms以内になります。

  3. iPhoneの[設定]タブで、バックグラウンドのアプリケーションの更新と場所を常に許可するアプリケーションをチェックインし、許可しないでテストを行い、検出性能に違いがあるかどうかを確認します。

しかし、すべてのケースでは30から40秒の遅延は、私はすでにバックグラウンドで処理して、リソースを実行しているアプリの数に応じて、それが正常な見つけるプラス、それはより良いにアプリモデルに依存するだろう彼が地域にいることを確認するために数秒後に地域のエントリーを知らせるようにして、すぐに「スーパーマーケットモデルを話している」などとすぐには通り過ぎることはありませんでした。

しかし、これがあなたのケースではない場合、あなたが得ることができる最も速いと思うあなたのデバイスの能力、速度、他のバックグラウンド処理アプリケーション、およびビーコン広告の時間間隔。

関連する問題