2014-09-27 3 views
7

저는 App Store 예상 응용 프로그램과 함께 볼 수있는 3 개의 Estimote 비콘이 있습니다. Apple AirLocation 데모 응용 범위가 비컨을 표시하지 않습니다

지금 나는 Estimote UUID 내가으로 startMonitoringForRegion을 시작하는 지역을 _supportedProximityUUIDs = @[[[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"]];

을 사용하도록 설정 한 기본값으로 APLDefaults.m 파일의 UUID를 변경 한 애플 데모 응용 프로그램 AirLocation에게 AirLocate

를 실행하려고 이 stackoverflow는 말합니다.

하지만 그들은 나타나지 않습니다. 아니면 견적 특정 일부가 누락되었습니다.

안부

답변

29

문제가 AirLocate iOS7에 대한 기록되었는지, 그리고 iOS8의에서는 iBeacons 다른 위치에 대한 조작 권한 모델이 변경되었다. XCode 6에서 컴파일 할 때 iOS 8에서 작동하도록 프로그램을 얻으려면 AppDelegate에서 권한을 요청하는 코드를 추가해야합니다. 이와 같이하면 :

if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { 
    [self.locationManager requestAlwaysAuthorization]; 
} 

이렇게하면 사용자가 비콘을 포함하는 위치 결정 작업을 승인하게됩니다. 또한 앱의 info.plist를 편집하고이라는 새 문자열 키를 "이 앱은 위치 서비스에 액세스해야합니다."와 같은 값을 추가해야 OS에서 사용자에게이 권한을 요청할 수 있습니다.

앱을 실행 한 후 설정을 체크인하여 권한이 올바르게 부여되었는지 확인할 수 있습니다.

+1

을 : http://stackoverflow.com/a/24161903/1735721 또는 원 코드에서 중단 점을 설정하여 영역 알림이 실제로 발생했는지 확인해야했습니다. 그리고 그것이 지금 8에서 작동하는 동안 나는 지금까지 그것이 잘 작동하지 않는다는 것을 발견했습니다 ... 오랫동안 한 번만 지역 알림을받습니다. – DennisWelu

+0

사과의 예제에는 잘못된 알림 키가 있다는 점도 유의해야합니다. http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/ –

2

iOS 9에서 발견 한 또 다른 문제점은 교정이 때때로 작동하지 않는다는 것입니다. NSNumber 변환 문제가있는 것으로 보입니다. APLCalibrationCalculator.m의 다음 편집이 고정 : - 나는 또한이 게시물처럼 AppDelegate에의 통지에 대한 사용자 권한을 요청했다 발견

//measuredPower = [[sample valueForKeyPath:@"@avg.rssi"] integerValue]; 
    measuredPower = [[sample valueForKeyPath:@"@avg.rssi"] intValue];