2013-05-09 10 views
6

#iOS上で動作する#AS3/#AIRアプリケーションを取得する助けがあります!ADTはipa-test-interpreterで動作しますが、ipa-testでは動作しません。

今はWindows上でAdobe AIR(v3.7)を使用して.IPAに変換している.SWF(v11)があります(7)。

私はiparget-interpreterの-targetで変換を行うとうまくいきます。

ipa-test、ipa-debug、ipa-ad-hoc、またはipa-appstoreで変換を行うとアプリケーションはコンパイルされているようですが、iPad上でアプリを実行すると、 。

iPadをデスクトップに接続してコンソール出力を監視すると、クラッシュやエラーメッセージが表示されないことがあります。アプリは内部的には正常に動作するように見えますが、すべての外部出力が失われてしまいます。

これは私がテストして開発できることを意味しますが、実際にはアプリケーションストアに展開することはできません。他の誰かがこれにぶつかる?

私はこの問題に遭遇した他の人に遭遇しましたが、まだ解決策はありません。私が試したことの1つは、すべてのネイティブ拡張を削除することでした。また、-Cコンパイラ・ディレクティブを削除しようとしました。いずれにも運がない。

明らかに、アプリはMac、PC、Android、ブラウザ、およびインタープリタモードのiOSで完全に正常に動作します。それは壊れているiOSのネイティブコンパイルです。私は、ipa-testとipa-interpreterが異なるメモリ割り当てルーチンを持っているという噂を聞いたことがあるが、これを理解するためにここではローエンドについて十分に分かっていない。

リモートデバッガ(FlashDevelop内)が接続されていないようです。私はランタイムが完全に、何とか起動する前にそれが失敗していると思いますか?私はまた、iphone-configuration-utilityを使ってコンソールの出力を見ていて、何も異常が現れていません。サンプルプロジェクトや指示に

一時ファイルへのリンク:私はこれはiOSの内部使用から起因する「制限」のコンポーネントの利用に過去に起こる見てきましたhttps://dl.dropboxusercontent.com/u/1348446/test.zip

+0

は 'debug'フラグを' true'に設定してコンパイルした.SWFです。 –

+0

同じ動作がいずれかの方法で設定されます。 –

答えて

2

それを実演しました。概要:

ADTコマンドラインには、コマンドライン上の現在の作業ディレクトリを変更するための-Cフラグがあります。これにより、プロジェクトをより整理して、コマンドラインをより穏やかに保つことができます。 -Cは、アセットをインポートするときに何度でも呼び出すことができ、何回か使用しました。 FlashDevelopのようなIDEでは、AIRのテンプレートファイルに-Cも使用されているので、これは標準的な動作です。資産包含の簡単な例として:

ADT.exe [blah blah] assets/icons/icon1.png assets/icons/icon2.png 

ADT.exe [blah blah] -C assets/icons icon1.png icon2.png 

(及び、ワイルドカード使用)と同じで、私は異なるコンパイル命令を有するよう

ADT.exe [blah blah] -C assets/icons . 

と同じですiOS、アンドロイド、スチームなどの設定は、現在の設定に変数を付けてディレクトリを切り替えて実行していました。

これはすべてipa-test-interpreterモードで正常に動作し、文書化されています。しかし、ネイティブコードモード(ipa-test)では、何らかの理由で何らかの理由で-Cコマンドの後の.SWFというメインの実行可能ファイルを含めて、内部パスを壊します。ファイルはインクルードされて終了しますが、実行されると内部的に "ファイルが見つかりません"という結果に終わります。そのため、ブランク画面とコードの実行はありません。

したがって、修正は、現在のディレクトリから.swfをインクルードするだけです。

copy /bin/flash/game.swf ./ 
adt [stuff] game.swf -c assets/icons . 
del game.swf 

私はこれについてアドビシステムズ社と連絡をもらいましたし、それは機能ですので、うまくいけば、彼らは-Cを修正しますが、両方でターゲットをコンパイルするための同じである:ちょうど、大丈夫テスト私の回避策の簡単な例として、未来。

0

は、エアのアプリのビルド。具体的には、ローダークラスを使用してアプリケーションリソースの読み込みをサンドボックスできるようになる前の日に戻ってください。

アプリのモジュール全体をシャットダウンしてオフにし、アプリがいつiOSでビルドされて実行されるかを確認します。私はipa-test-interpreterで安全ですが、ipa-testの下では奇妙な動作をしているコードがいくつかあると確信しています

+0

ええ、アプリはやがて単純なhello-worldに落とされ、やはり実行に失敗しました。 grr。 –

0

あなたはまだこの問題を抱えています。テストするMacを見つけることができれば、xcodeの計測器では​​メモリ制限を超えていると表示されます。それはiPadの権利ですか?あなたはフラッシュの埋め込みメタタグを使用していますか?

+0

メモリ制限のため、ゲームがiPad1のデスクトップにクラッシュします。しかし、iPad2と新しいiPadでは、それは黒い画面上にとどまるだけで、何らかの種類の警告やエラーを超えてメモリ制限が発生することはありません。アプリが正常に動作しているように見えます。 (アプリケーションが読み込もうとしても「スプラッシュ」の画像はありません) –

0

Blackはswfの背景色ですか?そうであれば、swfとapp.xmlを2つの異なる場所から読み込んでいるため、多分クロスドメイン読み込みの問題です。これが原因なのかどうかはわかりませんが、通常は同じ場所に置いています。

あなたのプロビジョニング& p.12がデバイスで動作するのを見たことはありますか?もしそうでなければ、それはそれらの問題かもしれません。

Flash IDEまたはFlash Builder、Flash Develop/ANTを作成するのにどのIDEを使用していますか? srcコードを投稿すると、それが役に立ちます。場合によっては間違った場所にメタデータを置くと、iOS上で問題が起こることもありますが、ブラウザでうまくいくように見えることがあります。

幸運。

関連する問題