티스토리 뷰
iOS8 버전부터 CLLocationManager 대응하는 방법이 달라졌습니다.
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.delegate = self;
[locationManager startUpdatingLocation];
//iOS8 대응
if([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
{
[locationManager requestWhenInUseAuthorization]; //앱을 사용하는 동안
//[locationManager requestAlwaysAuthorization]; //항상
}
requestWhenInUseAuthorization, requestAlwaysAuthorization 둘중 하나를 추가해 줘야 하며,
info.plist에도 해당 속성에 맞게 속성을 추가해 주어야 합니다.
Privacy - Location Usage Description -> 디바이스 환경설정 > 개인 정보 보호 > 위치 > 해당 앱 선택 > 하단 설명글.
NSLocationAlwaysUsageDescription -> 해당 속성일 때 Alert 하단 추가 메시지(쓰지 않아도 무방함)
NSLocationWhenInUseUsageDescription -> 해당 속성일 때 Alert 하단 추가 메시지(쓰지 않아도 무방함)
<info.plist해당 속성을 추가한 후 설정 화면>
<App에서 나오는 Alert 화면>
추가로 시뮬레이터에서 location 값이 계속해서 꺼지거나 켜두고 싶으신 분들은 다음과 같이 하시면 됩니다.
Edit Scheme > "Core Location"의 Allow Location Simulation 체크
이거 때문에 삽질을...
'iOS > 자료정리' 카테고리의 다른 글
[iOS]UIWebView, NSMutableURLRequest, cookie, session 처리 하기 (0) | 2015.01.08 |
---|---|
[iOS]지오 코딩 CLGeocoder , (현 위치 주소 변환) (0) | 2014.12.05 |
xCode6 버전에서 아이폰6, 6+ 자동 확대되어 보이게 하기. (0) | 2014.11.06 |
iOS 앱 내부에 저장된 파일 확인하기. (0) | 2014.06.11 |
[iphone]UIDocumentInteractionController 확장자를 통한 실행 가능한 앱 찾기. (0) | 2014.06.05 |