2014-09-26 4 views
1

중요한 변경 위치 서비스을 사용하려고합니다. OS Mavericks에서 Swift와 XCode를 함께 사용하고 있습니다. 튜토리얼을 따라 만든 iOS 앱을 향상 시키려고합니다. ''AppDelegate'유형이 'CLLocationManagerDelegate'프로토콜을 준수하지 않습니다. - Xcode 6의 스위프트

유형 : 내 AppDelegate.swift 파일에서

나는 나의 위치 관리자 서비스를 초기화하기 위해 다음과 같은 방법을 만들었습니다

func initializeLocationManager() { 
    // instance of location manager class 
    var locationManager = CLLocationManager() 
    locationManager.delegate = self // error here 
    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer 
    locationManager.requestAlwaysAuthorization() 
    locationManager.startUpdatingLocation() 
} 

을하지만 코드의 4 번째 줄에, 내가 말하는 오류가 AppDelegate '프로토콜'CLLocationManagerDelegate '에 맞지 않음

왜이 오류가 발생합니까? 이 문제를 어떻게 해결할 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.

감사합니다.

답변

2

오류는 말한다 :

'AppDelegate에이'프로토콜을 준수하지 않는 유형 'CLLocationManagerDelegate'

그래서 : 이름을 가진 클래스가 AppDelegate는 않기 때문에

당신은 그것을 얻고있다 프로토콜 CLLocationManagerDelegate을 준수하지 않아야합니다.

해당 클래스가 해당 프로토콜을 준수하도록 수정하면 문제를 해결할 수 있습니다. 따라서 프로토콜에서 요구하는 메소드를 구현 한 다음 클래스가이를 준수 함을 선언하십시오.

1

AppDelegate 클래스에 적어도 CLLocationManager.didUpdateLocations 함수를 제공해야합니다.

관련 문제