2010-07-12 5 views
0

iPhone OS의 여러 버전에서 작동해야하는 응용 프로그램을 만들고 iOS4의 코어 위치에 대한 정확도를 향상 시켰습니다. 이 경우 if ([m_locationManager respondsToSelector:@selector(startMonitoringSignificantLocationChanges)]) { m_locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; } else { m_locationManager.desiredAccuracy = kCLLocationAccuracyBest; } 다양 한 iPhone 배포 대상 : 프레임 워크 상수 처리

이 kCLLocationAccuracyBestForNavigation는 아이폰 OS 4에 도입 된 상수이며, startMonitoringSignificantLocationChanges은 iOS4에서 소개 m_locationManager하는 방법입니다 :

나는 다음을 수행 코드가 있습니다.

내 문제는이 코드가 iPhone 3.1.3 장치에서 작동하지 않는다는 것입니다. kCLLocationAccuracyBestForNavigation에 연결하려고 시도했지만 심볼을 찾을 수 없습니다. 내 질문은, 어떻게 아이폰 3.1.3 버전이 아니라 iOS4 버전에서만이 심볼에 링크합니까?

감사합니다, C는

답변

1

나 자신으로 답을 알아 냈어. 다른 사람들에게 도움이되도록 여기에 넣을 것입니다.

kCLLocationAccuracyBestForNavigation 기호가 이전 버전이없는 휴대 전화에로드되지 않도록 코어 위치 체계에 약하게 링크해야합니다.

취약한 링크가있는 프레임 워크를 지정하려면 대상 앱을 두 번 클릭하고 '일반'탭으로 이동하여 라이브러리 링크를 선택해야합니다. 간단히 코어 위치를 '약함'으로 설정하고 iPhone 3.1.3에서 작동합니다.

1

또한으로 일정을 테스트 할 수 있습니다 :

if(&kCLLocationAccuracyBestForNavigation != nil)