2

ローカルWebサーバーとiOS用のCordovaBrowserアプリを使用して、iPadで加速度計の例を動作させる方法を理解しようとしています。

CordovaBrowserアプリには、ネイティブホスティングアプリケーションに組み込まれているすべてのプラグインがあり、cordova.ios.jsを含めるだけで、すべてのプラグインが利用可能になると思います。

CordovaBrowserアプリ内からページを参照すると、それを示す出力が表示されnavigator.accelerometerますnull

HTMLは次のとおりです。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>PhoneGap</title>
    <script src="js/cordova.ios.js"></script>
    <script src="Scripts/jquery-1.9.1.js"></script>
    <script src="ts/app.js"></script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="Output">
    </div>
    </form>
</body>
</html>

これがapp.jsです:

$(function () {
    var output = $('#Output');

    try  {
        output.text('Loading ...');

        if(navigator) {
            output.text('Loaded Navigator ...');
        }

        if(navigator.accelerometer) {
            output.text('Loaded Accelerometer ...');
        }

        var watchID = navigator.accelerometer.watchAcceleration(function (acceleration) {
            output.text('Acceleration X: ' + acceleration.x + ', ' + 
                'Acceleration Y: ' + acceleration.y + ', ' + 
                'Acceleration Z: ' + acceleration.z + ', ' + 
                'Timestamp: ' + acceleration.timestamp);
        }, function () {
            output.text('Error!');
        }, {
            frequency: 300
        });
    } catch (e) {
        alert(e);
    }
});

参照されているすべてのjsファイルが正しくロードされています。他に何か足りないものがありますか?

アプリのサポートサイトでのアクティビティはほとんどありません。これはGitHubへのリダイレクトです。そして、唯一の問題に基づいて、そのGitHubはAndroid専用であり、iOSバージョンではありません。これは新しいアプリのバグである可能性がありますが、PhoneGap開発には多くの落とし穴がある可能性もあります。

任意のファイルに対して適切なPhoneGap環境を約束する何か他のものを使用します。私は昨年リリースされたHyperlabというアプリを使用しましたが、これはかなりクールですが、iPad用ではなく、いくつかの癖があり、更新は1つもありません。

私はMacを持っていない/欲しいので、これをだますために99ドルを払いたくありません。後で、PhoneGapを使用してネイティブアプリを開発するルートに進むことにした場合。Appleはばかげている。

4

2 に答える 2

0

devicereadyイベントのイベントリスナーを追加して、そこから開始する必要があります。

 document.addEventListener("deviceready", onDeviceReady, false);

 function onDeviceReady() {
    // Now safe to use the Cordova API
 }

注:Macをお持ちでない場合、または実際のデバイスでこれをテストできない場合は、Chromeを使用してデバッグおよびテストし、Chromeツールを使用して加速度計の値を変更できます。手順:

1-ページを右クリックして、要素の検査をクリックします

2-右隅で設定を選択します

3-オーバーライドを選択し、デバイスの向きをオーバーライドします

注:Chromeを使用している場合、デバイス対応イベントは呼び出されないため、ページの読み込み時に呼び出す必要があります

于 2013-02-27T18:37:30.080 に答える
-1

Cordova Accelerometerは、ネイティブアプリでのみインストールされるcordovaライブラリプラグインに依存しています。SafariにJSをロードしても同じ効果はありません。iOSデバイスでサポートされているパブリックJSAPIを使用する必要があります。iPadで動作するものを見つけました。

于 2013-02-19T23:07:09.297 に答える