8

PhoneGap 2.9、Durandal 2.0 アプリケーションを Windows Phone 8 で動作させることを試みてきました。Visual Studio を介してアプリケーションをエミュレーターおよびデバイスにデプロイする手順に従うことができました。ただし、アプリケーションを VS でビルドし、アプリケーション展開ツールを使用して完成した .xap をデバイスに展開するときに、アプリケーションに問題があります。スプラッシュ スクリーンが読み込まれますが、黒い画面が表示されます。

このブログ投稿http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/で提案されているように、www へのパスを修正しました。これにより、デバイスではなくエミュレーターでアプリが動作するようになりました。

また、 phonegapビルドを使用して xap をビルドしようとしましたが、これはベータ版で Windows Phone 8 をサポートするようになったためです。-windows-phone-8/ . これは同様の結果を返しました。

main.js と index.html ファイルは問題なく読み込まれていると思いますが、requirejs と durandal 2 に何らかの問題があります。

この組み合わせのツール (またはより最近のバージョン) をうまく使っている人は他にいますか? もしそうなら、彼らはどこが間違っているのか知っていますか?

4

1 に答える 1

7

問題を解決することができたので、問題が発生する可能性がある他の人にとっては、次の情報が役立つ場合があります。

1) File.cs ファイルを次のブログ投稿で説明されているように変更します: http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/

2) 上記の変更に加えて、File.cs の readResourceAsText メソッドにパラメーターから読み取られるオプションを次のように変更する必要があることもわかりました。PhoneGap は他のオプションを必要とせず、パスしないようです。彼ら:

        string[] optStrings = getOptionStrings(options);
        string pathToResource = optStrings[0];
        //string encStr = optStrings[1];
        //int start = int.Parse(optStrings[2]);
        //int endMarker = int.Parse(optStrings[3]);
        string callbackId = optStrings[1];

3) 何らかの理由で、Windows Phone、PhoneGap、Durandal の組み合わせも、アプリケーションのフォルダー構造に非常にうるさいです。当初、私たちは自分たちにとって意味のある独自のフォルダー構造を使用しようとしていました。(つまり、Durandal スターター キットの例で使用されている「app」サブフォルダーを使用せず、www ルート ディレクトリに main.js、viewmodels、views フォルダーを配置します。) 質問にあるように、これは問題ではありませんでした。したがって、根本的な問題が何であるかはわかりませんが、Windows Phone がリリース モードで動作するには、フォルダ構造が Durandal スターター キットの構造と正確に一致している必要があります。

追加情報として、これは PhoneGap 3.1 でも機能するようになりました。(File.cs プラグインの変更を含め、上記と同じ変更が適用されます。)

また、PhoneGap 3.0 をサポートするようになった PhoneGap ビルドも試しましたが、アプリケーションがクラッシュします。これは、ビルドで使用されていない File.cs に必要な変更が原因です。これが修正されるまで、Windows Phone 8 用の Durandal アプリで PhoneGap ビルドを使用することはできません。

于 2013-10-26T18:10:30.663 に答える