2012-09-24 1 views
4

iOS 4 및 5에서 제대로 작동하는 지리적 위치 정보를 제공하는 기존 PhoneGap 1.3 앱이 있습니다. iOS 6에서 getCurrentPosition은 거의 항상 실패 콜백을 시작합니다. 실패 후에 추가 getCurrentPosition 호출은 성공 또는 실패 콜백을 시작하지 않습니다. 나는 전체 애플 리케이션과 동일한 동작을 보여주는 다음 코드로 애플 리케이션을 축소했습니다.getCurrentPosition은 거의 항상 iOS 6의 PhoneGap 1.3에서 실패합니다.

2012-09-24 16:26:46.576 MyAppName[7250:16703] [INFO] deviceready!!! 
2012-09-24 16:26:56.582 MyAppName[7250:16703] [INFO] failure!!! 

아무것도 더 : 실패하면

document.addEventListener("deviceready", function() { 
    console.log('deviceready!!!'); 
    successCallback = function() { 
    console.log('success!!!'); 
    }; 
    failureCallback = function() { 
    console.log('failure!!!'); 
    navigator.geolocation.getCurrentPosition(function() { console.log('success 2'); }, function() { console.log('failure 2'); }); 
    }; 
    navigator.geolocation.getCurrentPosition(successCallback, failureCallback); 
}, false); 

이 내가 로그에 무엇을 얻을 수 있습니다.

어디로 갈까요?

+0

iOS6에 geolocalisation getCurrentPosition에 문제가있을 수 있습니다. Apache Cordova를 사용해 보셨습니까? 그것은 그것이 작동하도록하는 데 도움이 될 수 있습니다. (유사한 스레드를보십시오 : http://stackoverflow.com/questions/10412239/phonegap-getcurrentposition-and-watchposition) – Cedric

+0

많은 알려진 버그가 있습니다. 당신은 분명히 cordova 2.1로 업데이 트해야합니다 –

답변

0

대답 : PhoneGap.plist의 EnableLocation을 NO로 설정하십시오. 분명히 YES로 설정하면 iOS 6에서 실행되는 PhoneGap 앱에 메모리 문제가 발생합니다. 수정 프로그램이 구현되었지만 지금 당장은 PhoneGap 공식 릴리스에 포함되어 있다고 생각하지 않습니다. FWIW, 나는 EnableLocation이 실제로 무엇을하는지 아는 사람을 찾을 수 없습니다.