2013-05-09 30 views
6

我可以使用一些幫助讓我的#AS3/#AIR應用程序在#iOS上運行!ADT可以使用ipa-test-interpreter,但不能使用ipa-test

現在,我在Windows(7)上使用Adobe AIR(v3.7)將.SWF(v11)轉換爲.IPA。

如果我使用ipa-test-interpreter的-target進行轉換,它的效果很好。

如果我使用ipa-test,ipa-debug,ipa-ad-hoc或ipa-appstore進行轉換,應用程序似乎編譯正常,但在iPad上執行應用程序時它只顯示黑屏。

將我的iPad連接到桌面和監視控制檯輸出,我看不到崩潰或生成的錯誤消息;該應用似乎在內部表現良好,它只是丟失了所有外部輸出。

這意味着我可以測試和開發,但我永遠無法真正能夠部署到應用商店。其他人遇到這個?

谷歌搜索我遇到了遇到這個問題的其他人,但沒有解決方案。我嘗試過的一件事是刪除所有本機擴展,並且我也嘗試刪除-C編譯器指令。兩者都沒有運氣。要明確的是,該應用在Mac,PC,Android,Browser和iOS上以解釋器模式運行完全正常;它只是iOS上的原生編譯而已。我聽說有傳言稱ipa-test和ipa-interpreter具有不同的內存分配例程,但我對這裏的低端知識還不夠了解。

遠程調試器(在FlashDevelop中)似乎也沒有連接。不知怎的,我認爲它在運行時完全失敗之前失敗了?我也在使用iphone-configuration-utility觀察控制檯輸出,並且沒有任何異常顯示。與示例項目和說明

臨時文件鏈接:https://dl.dropboxusercontent.com/u/1348446/test.zip

+0

是.swf文件編譯的設置爲'真'的'debug'標誌? – 2013-05-11 22:37:45

+0

相同的行爲設置任一方式。 – 2013-05-15 17:46:13

回答

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,Android,蒸汽等,我有adt切換目錄與變量到當前配置並從那裏執行。

這一切工作正常,併爲-記錄在IPA-測試解釋模式。當在本機代碼模式(IPA檢驗),但是,包括一個-C命令[某種方式因某種原因]後的主可執行.SWF弄亂內部路徑功能;該文件最終被包含在內部,但最終在執行時內部全部爲「文件未找到」,因此空白屏幕並且沒有代碼執行。

所以解決方法是簡單地包括從當前目錄中的.swf文件,以-C任何調用之前。正如我的解決方法,只是測試了,沒關係的一個簡單的例子:

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

我已經得到的觸摸與Adobe關於這個,希望他們將修復-C所以它的功能是相同的兩個編譯目標中未來。

0

我已經看到這種情況發生在過去,由於「限制」組件的利用率從內部的iOS應用建立空氣應用程序。特別是在能夠使用加載器類加載應用程序資源之前的一天。

開始關閉並關閉應用程序的整個模塊,並查看應用程序何時在iOS上構建和運行。我敢打賭,有一些代碼在某些地方是Ipa測試解釋器安全,但有奇怪的行爲下Ipa測試

+0

是的,應用程序最終被簡化爲一個簡單的hello-world,但仍然未能執行。 GRR。 – 2013-05-17 07:24:35

0

我看你仍然堅持這個問題。如果你可以找到一個Mac來測試,我敢打賭xcode儀器會顯示你超出了你的內存限制。這是iPad的一個權利?你使用Flash的嵌入元標籤?

+0

由於內存限制,遊戲在iPad1上崩潰到桌面,是的。但在iPad2和新iPad上,它只是停留在黑屏上,不會拋出超出任何內存限制的警告或錯誤。該應用程序似乎正常運行,只是沒有任何輸出。 (即使應用程序嘗試加載,也沒有「閃屏」圖像) – 2013-05-15 23:03:28

0

是你的swf背景色嗎?如果是這樣,也許這是一個跨域加載問題,因爲你從兩個不同的地方加載你的swf和app.xml。我不知道這是否會造成這種情況,但我通常將它們放在同一個地方。

你有沒有見過你的規定& p.12在設備上工作?否則,這可能是他們的問題。

你用什麼IDE來做這個,Flash IDE或Flash Builder,Flash Develop/ANT?如果你發佈src代碼,它會有所幫助。有時候把你的元數據放在錯誤的地方可能會導致iOS上的東西出現問題,但在瀏覽器中看起來很好......所以它可能是很多事情。

祝你好運。

相關問題