2

使用 - Sencha Touch 2.3、Apigee Usergrid JS SDK、および PhoneGap 3.2。

ブラウザでアプリを実行し、Apigee に完全にアクセスできます。

index.html:

`<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"
type="text/javascript"></script>
<script src="../lib/apigee.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true </script>
<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script>`

これは、Apigee Javascript SDK から直接作成したコードです (再び index.html にあります)。

`<script type="text/javascript">
     var client = new Usergrid.Client({
         orgName:'orgname',
         appName:'sandbox',
         logging: true, 
         buildCurl: true
        });
</script>`

したがって、私のビュー「client.URI」でテストすると、期待どおり「https://api.usergrid.com」が得られます。大丈夫です。

ボタンの「client.URI」の画像。 http://minus.com/i/BtmXiuVxljsV

私が走るとき

$ sencha app build -run native

ここで問題が発生します。Apigee に接続しようとする場合を除いて、すべてがうまく機能します。ロードしても、IOS エミュレータにアプリがロードされません。phonegap 構成または「ホワイトリスト」で、「*」ワイルドカードを使用してすべてへのアクセスを許可しました。Google マップ API がうまく機能しているため、これが機能していると確信しています。「client.URI」テストをアラートに入れようとしたので、ボタンをクリックするとURIが表示されます。これもブラウザでは機能しますが、エミュレータでは機能しません。アプリは正常に読み込まれますが、ボタンをクリックしても何も起こりません。これが理にかなっていることを願っています。アプリが読み込まれること、および「client.URI」テストをできるだけ独立してテストできることを確認したかったのです。繰り返しますが、読み込み時にレンダリングしようとすると、アプリはエミュレーターに読み込まれません。

URI を含むアラートが表示されるボタンをクリックすると、system.log に次のように記録されます。

` <Error>: __hid_dispatch_pthread_root_queue_create_block_invoke: specific=0x505c260 pthread_self=0xb0115000`

ブラウザーで開発を続け、Usergrid バックエンドにアクセスすることもできますが、このバグを修正して、より大きなアーキテクチャ上の問題に対処しないようにしたいと考えています。

みんな、ありがとう。

4

2 に答える 2

1

違いを生む可能性があることの 1 つは、コマンド ラインからではなく、XCode からエミュレーターを実行しようとすることです。Phonegap が作成した .xcodeproj ファイルを開き、そこから実行します。それでもエミュレータが起動しない場合は、お知らせください。

于 2013-12-03T22:03:57.037 に答える
1

Finally! Thank goodness for nice debugging help from Android. I changed routes and tried it with Android.

It was telling me it couldn't find the Apigee.min.js file. Seems when Phonegap was compiling it either put it in the wrong place or I did to begin with(I'm pretty sure I know which it was)

I changed out my local file to this instead:

 <script src="https://apigee.com/usergrid/sdk/usergrid.0.10.5.js"></script>

and it works now on IOS and Android. Was very strange because it worked so well in the browser previously.

If anyone has some feedback on where I went wrong with the putting the file in my app let me know. As you can see above it was in:

<script src="../lib/apigee.min.js"></script>

Also if anyone has recommendations on when deploying if I should keep using Apigee as a source or adding the file to my app.

Thanks everyone for your time.

于 2013-12-04T18:03:45.770 に答える