2014-04-10 4 views
1

위치 서비스 앱을 개발 중이며 이상한 동작을 발견했습니다. 사용자가 위치 서비스를 사용하여 확인하면 지오 펜스 아이콘이 상태 표시 줄에 나타납니다. 모든 것이 훌륭하게 작동하며 앱이 백그라운드에서 실행 중인지 백그라운드에서 실행 중인지에 상관없이 지역 이벤트를 입력하고 종료합니다. 그러나 어떤 시점에서 지오 펜스 아이콘이 사라지고 내 장치가 비컨에 둔감합니다. 장치의 전원을 껐다 켤 때까지 지오 펜스를 사용할 수없는 조건이 있습니까? 그리고 파워 사이클링은 그것을 되돌려줍니다.iOS 7.1 Geofencing 및 iBeacons 작동이 중지됩니다.

+0

나는 같은 경험을했다. 불행하게도 단순히 응용 프로그램을 다시 시작해도 문제가 해결되지 않았습니다. "단순히"블루투스를 해제하고 다시 활성화해야하기 때문에 이전과 같이 iBeacons가 작동했습니다. 그런 다음 응용 프로그램을 다시 시작해야했습니다. 이것은 지금까지 iOS7.1에서만 발생했는데, iOS7.0에서이 동작을 찾을 수 없었습니다. – Lepidopteron

답변

1

CoreLocation에서 새로 도입 된 버그입니다. 불행히도이 문제를 해결할 수있는 자동화 된 방법은 없습니다. 해결하려면 전원을 껐다 켜거나 켜기/끄기 순서가 필요합니다.

here을 참조하십시오.

0

비슷한 문제가있었습니다. 내 응용 프로그램은 초기 실행시 작동하고 탐지 장치를 찾습니다. 재부팅 할 때 응용 프로그램이 예상대로 ScanViewController를 열었지만 신호를 감지하지 못했습니다.

는 I에 유래, iBeacon: didRangeBeacons stops getting called, must reset device for it to work again에 기사를 참조 내가 추가 CLLocation 위임 방법을 발견 애플의 WWDC 2013 비디오 세션 "무엇 Corelocation의 새로운"https://developer.apple.com/videos/wwdc/2013/index.php?id=307

검토 :

를 설정하면 당신은 당신의 비콘 영역을 초기화하기 때 :

notifyEntryStateOnDisplay = YES; 

    //The following delegate method will be called: 

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

    if (state ==CLRegionStateInside) { 

     [_locationManager startRangingBeaconsInRegion:region]: 

} 
    //Your alternative code 
} 

//To help trouble shoot, I added this delegate methods 

-(void) locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *) region withError: (NSError *)error { 
} 

and 

-(void) locationManager:(CLLocationManager *)manager rangingBeaconsDidFailForRegion:(CLRegion *) region withError: (NSError *)error { 
} 

나는 앱을 실행했습니다. 실패 오류는 반환되지 않았습니다. 나는 설정을 확인했다. Bluetooth가 활성화되어 BT 장치를 감지했습니다.

지오 펜스 아이콘의 상태 표시 줄을 확인했습니다. 지오 펜싱 아이콘이 나타납니다.

2 분 이상 기다렸다가 앱이 비컨을 감지하여 예상대로 작동했습니다. 부진한 말은 삼가면서 말하는 것입니다. StackOverFlow 및 기타 리소스에서 읽은 모든 iOS 7.1 기사에 따라 재부팅이 작동해야한다는 것을 알고있었습니다.

재부팅하여 앱이 비컨 감지를 기다렸습니다. 평균적으로 비콘 감지까지 2 분이 걸렸습니다. 이 느린 반응을 일으키는 원인이 무엇인지 확신 할 수 없습니다. 앱 응답은 초 단위로 측정되어야하기 때문에 개발자가 앱이 작동하지 않는다고 생각할 수 있습니다.

앱이 비컨을 감지하지 못하거나 앱이 비컨을 감지 할 때까지 2 분 동안 기다려야하는 오류 오류를 반환하는 경우 제안합니다. 이게 도움이 되길 바란다.