4

私は既存の 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!!!

これ以上何もない。

これでどこに行くべきかについてのアイデアはありますか?

4

1 に答える 1

0

答え: PhoneGap.plist の EnableLocation を NO に設定します。どうやら、YES に設定すると、iOS 6 で実行されている PhoneGap アプリでメモリの問題が発生するようです。修正は実装されていますが、現時点では、公式の PhoneGap リリースには含まれていないと思います。FWIW、EnableLocation の機能を実際に知っている人を見つけることができません。

于 2012-10-04T21:20:36.243 に答える