ADT works with ipa-test-interpreter, but not ipa-test

I could use some help to make my # AS3 / # AIR app run on #iOS!

Now I have .SWF (v11), which I convert to .IPA using Adobe AIR (v3.7) on Windows (7).

If I do the conversion with -target ipa-test-interpreter, it works fine.

If I do the conversion using ipa-test, ipa-debug, ipa-ad-hoc or ipa-appstore, the application seems to compile fine, but after running the application on my iPad it just shows a black screen.

Connecting my iPad to a desktop computer and outputting to the monitoring console, I see that no alarm or error messages are generated; the application seems to behave normally inside, it just lost all external output.

This means that I can test and develop, but I can never deploy a store application. Anyone else come across this?

Googling around I have encountered other people who have encountered this problem, but have not yet decided. One thing I tried was removing all of my own extensions, and I also tried removing the -C compiler directive. No luck with that either.

To be clear, the application works fine on Mac, PC, Android, browser, and iOS in interpreter mode; it's just a native compilation on iOS that is broken. I heard rumors that ipa-test and ipa-interpreter have different memory allocation procedures, but I don't know enough about the lower end to figure this out.

The remote debugger (in FlashDevelop) also does not connect. I think it failed before the fires were full on time, anyway? I also watch the console exit using the iphone-configuration utility, and there is nothing abnormal showing.

Temporary link to a file with a sample project and instructions: https://dl.dropboxusercontent.com/u/1348446/test.zip

+6
source share
4 answers

Figured it out. Summary:

The ADT command line has the -C flag to change the current working directory on the command line, which allows you to better organize your project and save the command line a little more wisely. -C can be called as many times as needed when importing assets, and I used it several times. IDEs such as FlashDevelop also use -C in AIR template files, so this is standard behavior. As a quick example of asset inclusion:

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

coincides with

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

(and when using wildcards) is the same as

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

Since I have different compilation commands for iOS, android, steam, etc., I had adt switch directories with a variable in the current configuration and were executed from there.

Everything works fine and as described in ipa-test-interpreter mode. However, in native-code (ipa-test) mode, including the main .SWF executable, after the -C command [somehow for some reason] it confuses internal movement; the file ends with inclusion, but ends with all the โ€œfile not foundโ€ internally during its execution, therefore, a blank screen and no code is executed.

So, the fix is โ€‹โ€‹simply to include .swf from the current directory before any -C calls. As a short example of my workaround that just tested a-okay:

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

I contacted Adobe about this and hope they fix -C, so in the future they will be the same for both compilation purposes.

+2
source

I have seen this in the past due to the use of components "limited" to use Air applications in iOS builds. In particular, the day before you can load application resources using the bootloader class.

Start closing and disabling entire modules of your application and see when the application will create and run on iOS. I bet that somewhere there is some code that is safe for ipa-test-interpreter, but has strange behavior with ipa-test

0
source

I see that you are still sticking to this problem. If you can find a Mac for testing, I bet the xcode tools will show that you have exceeded memory limits. Is this iPad one right? Do you use flash meta tags?

0
source

Black color of your SWF background? If so, it may be a cross-loading issue because you are loading swf and app.xml from two different places. I do not know if this causes it, but I usually keep them in the same place.

Have you ever seen your position and page 12 on your device? If not, this could be a problem with them.

What do you use for IDE, Flash IDE or Flash Builder, Flash Develop / ANT? And if you publish src code, this will help. Sometimes putting your metadata in the wrong place can damage iOS, but it looks good in the browser ... so it can be a lot.

Good luck.

0
source

Source: https://habr.com/ru/post/944664/


All Articles