私は既存の PhoneGap 1.3 アプリを持っていますが、これは iOS 4 と 5 で問題なく動作するジオロケーションを実行します。iOS 6 では、getCurrentPosition はほぼ常に失敗のコールバックを起動します。失敗後、追加の getCurrentPosition 呼び出しは、成功または失敗のコールバックを起動しません。アプリを次のコードに減らしました。これは、完全なアプリと同じ動作を示します。
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);
失敗すると、これがログに記録されます。
2012-09-24 16:26:46.576 MyAppName[7250:16703] [INFO] deviceready!!!
2012-09-24 16:26:56.582 MyAppName[7250:16703] [INFO] failure!!!
これ以上何もない。
これでどこに行くべきかについてのアイデアはありますか?