1

angularjs と phonegap を使用してアプリを開発しています。

私の問題は、phonegap ビルド phonegap バージョン 2.5 を使用してデプロイしているときに、インデックスに次のものが含まれていることです。

<script src="phonegap.js"></script>

コルドバライブラリをコピーしていません。

インデックスにも:

<body ng-app="MyApp">

<div class="container" ng-view></div>

その結果、ビルドは素晴らしく、iOS デバイスと Android デバイスにインストールでき、どちらも同じように動作します。

CSS ファイルで設定した背景は表示されますが、他には何も表示されません。 最初のコントローラーで設定したアラートも表示されません。リップル エミュレーションでは問題なく動作しますが、iOS または Android デバイスに展開すると動作しません。

マキシミンへのインデックスを単純化しました。また、これが問題ではないことを確認するためにjqueryを使用するディレクティブを使用していません。他のライブラリをロードしていません。

他のSOの質問でアドバイスされているように、このメタ情報を追加しました

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

私も追加しました(Brian Fordのクールなサービスも試しました)が、単に

MyApp.run(function ($rootScope, $location) {       
    document.addEventListener('deviceready', function () { 
        navigator.notification.alert("Corodova device ready triggered!"); --> This does gets triggered!
        //MyApp.initialize(); => commented out cause it did not make any change and I beleive it is not needed. We already have <body ng-app="MyApp"> in index
}, false);    

});

config.xml も最小限に残しました。

<?xml version="1.0" encoding="UTF-8"?>
 <widget xmlns      = "***"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    id         = "***"
    version     = "1.0.2">

  <name>***</name>

  <description>***</description>

  <author email="***@***.com">***</author>

   <icon src="./styles/img/logo.png" gap:role="default" />  

  <feature name="http://api.phonegap.com/1.0/network"/>
  <feature name="http://api.phonegap.com/1.0/geolocation"/>
  <feature name="http://api.phonegap.com/1.0/camera"/>

  <preference name="orientation" value="portrait" />

  <preference name="phonegap-version" value="2.5.0" />
  <preference name="target-device" value="universal" />

  <!-- Splash Screens -->
  <gap:splash src="splash.png" />
  <gap:splash src="./styles/img/logo.png" gap:platform="android" gap:density="ldpi" />
  <gap:splash src="./styles/img/logo.png" gap:platform="android" gap:density="mdpi" />
  <gap:splash src="./styles/img/logo.png" gap:platform="android" gap:density="hdpi" />
</widget>

前もって感謝します!

4

1 に答える 1

0

私は最終的に解決策を見つけました。

コーディング ガイドラインを満たすために名前を変更しているときに、すべてのビュー ファイルをキャメル ケースに変更します。ただし、次のような app.js は変更しませんでした。

 $routeProvider
 .when('/', {
    templateUrl: 'views/Sign.html',   <--- mind the case sensitive issue! the capital s screw it up  . . . 
    controller: 'SignCtrl'

ここに画像の説明を入力

于 2013-04-25T10:01:59.927 に答える