iOS 8에서 위치 정보를 얻는 방법이 바뀝니다.
WWDC 2014 발표 자료
이게 어떻게 된 일입니까?
위치 정보를 얻는 방법은 iOS 8에서 변경된 것으로 보입니다.지금까지의 방법이라면 위치 정보를 얻을 수 없습니다.(AppStore에서 이미 대기열에 추가된 애플리케이션은 해당되지 않습니다.)
iOS 8 : Location Services not working
My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK.
CLLocationManager doesn't return a location, and I don't see my app under >Settings > Location Services either. I did a Google search on the issue but nothing >came up, what could be wrong?
▲ Stack Overflow에도 이 일에 대한 질문이 들어왔다
주안점
뭘 하면 좋을까요?
우선
Info.plist
에 위치 정보를 사용하는 목적을 기재한다.이 프로젝트는 지금까지 임의였지만 iOS 8에서 필수로 바뀌었다.WWDC 2014 발표 자료
키 이름은 개인 정보 보호 정책에 따라 다릅니다.
사용만 허용
NSLocationWhenInUseUsageDescription
항상 허용
NSLocationAlwaysUsageDescription
인증 상태 확인
인증 상태의 종류도 늘었다.
kCLAuthorizationStatusAuthorized
추천하지 않음kCLAuthorizationStatusAuthorizedAlways
(자주 허용), kCLAuthorizationStatusAuthorizedWhenInUse
(사용 중에만 허용) 증가iOS 8에서 위치 정보를 가져올 수 없는 경우 인증 상태는
kCLAuthorizationStatusNotDetermined
일 수 있습니다.다음 경계 문자에서 현재 인증 상태를 검사할 수 있습니다.
Objective-C:
// CLLocationManager オブジェクトにデリゲートオブジェクトを設定すると初回に呼ばれる
- (void)locationManager:(CLLocationManager *)manager
didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
if (status == kCLAuthorizationStatusNotDetermined) {
// ユーザが位置情報の使用を許可していない
}
}
Swift:func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
switch status {
case .NotDetermined:
// ユーザが位置情報の使用を許可していない
}
}
사용자가 위치 정보를 사용할 수 없는 경우 아래 설명된 인증 요청 요청을 사용하여 위치 정보를 사용할 수 있습니다.인증 요청
iOS 8에서 CLLocation Manager에 추가된 방법은 다음과 같습니다.
이 메서드를 호출하면 인증 대화 상자가 표시됩니다.첫 번째 설정에 대한 위치 정보 사용 목적도 대화상자에 표시됩니다.
WWDC 2014 발표 자료
이 방법은 여러 번 호출할 수 있지만 인증 상태가
kCLAuthorizationStatusNotDetermined
일 때만 인증 대화상자를 표시할 수 있습니다.이곳에서 허가를 받아야 위치 정보를 얻을 수 있다.
안 맞으면 어떻게 되는 거예요?
AppStore의 애플리케이션을 다운로드하여 iOS 8에서 실행할 때의 행동을 시도하고 싶지만 NDA를 위반할 수 있으므로 나중에 다시 쓰려고 합니다.
2014/9/12 보충: 앱스토어에 나란히 있는 앱을 다운로드하여 iOS 8에서 실행되는 경우 이전처럼 위치 정보를 얻을 수 있습니다.따라서 이전에 발표된 응용 프로그램은 iOS 8을 지원하지 않기 때문에 갑자기 위치 정보를 얻을 수 없습니다!그렇지 않습니다.
참조 링크
What’s New in Core Location - WWDC 2014 발표 자료(PDF)
iOS 8 : Location Services not working - SAckoverflow에 대한 질문
iOS 8의 위치 정보에 대한 개인 정보 보호 설정-Swift에 샘플 코드가 첨부되어 상세하게 설명
Reference
이 문제에 관하여(iOS 8에서 위치 정보를 얻는 방법이 바뀝니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koogawa/items/6ec24ca3201977e9642b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)