Air for Ios doesn't compile actionscript

Hi guys,
I'm having a big problem... I'm developing a game to be published to web, ios, android. If I export the swf for the web or the apk for android everything is ok but when I try to package the swf using air for ios the swf doesn't contains any actionscript, the compilation is very fast and the swf is smaller, also if I try to debug the fla nothing happen because no code is compiled. This is started in the last two month, before I was able to package also to ios and I was able to create an ipa that I sent to apple store but now I need to modify the app and I can no more compile it. I have browsed the forum and read something about the umcompiled actionscript problem but I didn't load any external swf, I just use urlloader to load an xml and some images. I'm using flash cs5.5. Someone have some suggestion?

If you are using Flash Professional.. I would just create a new FLA .. copy over your library assets, etc.   Make sure to point to your certificates and provisioning files, etc.. and recompile.
Were you using an old version of AIR previously and have the new AIR SDK installed now ?
I have found that compiling the IPA with ADT from the command line is much better than compiling from the IDE and allows you to use the iOS5.1 SDK instead of iOS4.

Similar Messages

  • Sound preloading doesn't work in Air for iOS?

    I have a set of  sounds preloaded using load() method in Sound class in my game and it works fine when testing on my pc(windows 7). But when I deployed the game to iPad2, it seems like Air is only loading the sound files when play() method is actually called and not when load() method was called. There's a small lag when first playing a sound on my iPad2.
    Is this default behavior of Air for iOS? Is there anyway to preload sounds?
    I'm using Air 3.4 and Flash CS6 professional and the sound files are not embded but in an included folder.

    It seems to me as if pages that partially fill in autofillable fields cause the problem.
    Previously on IOS7 and before this was not a problem.
    Autofill seems to work for me if no values are filled in by the (initially loading) webpage.
    Resetting the ipad did not help on this issue.
    Neither did removing the stored pw-information help. IOS asked me to re-save the id and pw but that did not change the situation and the problem still remains unresolved.

  • AIR for iOS app works perfectly in emulator, not at all on an actual iPad

    I'm new to mobile development, so I'm hoping I am doing some simple wrong, like a wrong checked box or something.
    I have an app that I have written for iPad. It's fully functioning when I run it through the emulator (I have to change it to Flash 10.1 and use Device Emulator because nothing else will accept touch events) but doesn't really work on the iPad. Some of the features work, and some don't. It's like it's just not quite compiling all the code, and I'm very confused.
    My publish settings:
    Player: AIR for iOS
    Script: Actionscript 3.0
    Included .swf, .xml, and all relevant .as class files
    Published using quick publish for device testing
    Are there some AS 3.0 features that won't work in iOS? If so it would be really great to have a list of those somewhere.
    What am I doing wrong? Why won't my app work on an actual device if it tests perfectly in the emulator?

    My original question has not been answered, but I am running across the same problem in a different way.
    I have added to my code, continuing to build the app, (hoping the problem can be solved eventually), and once again, the app works perfectly in Device Central but not on the iPad.
    I have buttons to select different levels of the puzzle. Each time you press a button, the level automatically updates itself on the board. So if you are playing the shape level, the shape of the puzzle piece is on the board. If you are playing the name level, the name of the puzzle piece is on the board. Etc.
    This works perfectly on my computer. However - again - when I transfer it to an iPad, choosing the "shape" level will cause the names to pop up.
    I have double and triple checked the variable names to make sure they match up and are correctly spelled and capitalized. It just doesn't function in iOS.
    Here is the code to switch levels and automatically generate a new random puzzle piece:
    function changeLevel (e:TouchEvent): void {
        trackUSAPiece = ["pieceAL", "pieceAK", "pieceAZ", "pieceAR", "pieceCA", "pieceCO", "pieceCT", "pieceDE", "pieceFL", "pieceGA", "pieceHI", "pieceID", "pieceIL", "pieceIN", "pieceIA", "pieceKS", "pieceKY", "pieceLA", "pieceME", "pieceMD", "pieceMA", "pieceMI", "pieceMN", "pieceMS", "pieceMO", "pieceMT", "pieceNE", "pieceNV", "pieceNH", "pieceNJ", "pieceNM", "pieceNY", "pieceNC", "pieceND", "pieceOH", "pieceOK", "pieceOR", "piecePA", "pieceRI", "pieceSC", "pieceSD", "pieceTN", "pieceTX", "pieceUT", "pieceVT", "pieceVA", "pieceWA", "pieceWV", "pieceWI", "pieceWY"]
        if (e.target == nameLevel) {
            PuzzleGlobals.currentLevel = "Name";
            nameLevel.gotoAndStop("Active");
            abbrevLevel.gotoAndStop("Inactive");
            shapeLevel.gotoAndStop("Inactive");
            for (var j=0; j<(PuzzleGlobals.TOTAL_NUMBER_USA); j++) {
                this[trackUSAPiece[j]].gotoAndStop("wholeName");
        else if (e.target == abbrevLevel) {
            PuzzleGlobals.currentLevel = "Abbrev";
            abbrevLevel.gotoAndStop("Active");
            nameLevel.gotoAndStop("Inactive");
            shapeLevel.gotoAndStop("Inactive");
            for (var k=0; k<(PuzzleGlobals.TOTAL_NUMBER_USA); k++) {
                this[trackUSAPiece[k]].gotoAndStop("abbrev");
        else if (e.target == shapeLevel) {
            PuzzleGlobals.currentLevel = "Shape";
            shapeLevel.gotoAndStop("Active");
            nameLevel.gotoAndStop("Inactive");
            abbrevLevel.gotoAndStop("Inactive");
            for (var l=0; l<(PuzzleGlobals.TOTAL_NUMBER_USA); l++) {
                this[trackUSAPiece[l]].gotoAndStop("shape");
    function addNewPiece (e:TouchEvent): void {
        ri = Math.floor(Math.random()*(1+PuzzleGlobals.TOTAL_NUMBER_USA));
        if (PuzzleGlobals.statesOnBoardUSA == PuzzleGlobals.TOTAL_NUMBER_USA) {
            //play BOOP sound indicating no new pieces left
        else {
            if (usaPiece[ri] != null) {
                bmc.addChild(this[usaPiece[ri]]);
                if (PuzzleGlobals.currentLevel == "Shape") {
                    this[usaPiece[ri]].height = this[usaPuzzle[ri]].height;
                    this[usaPiece[ri]].width = this[usaPuzzle[ri]].width;
                this[usaPiece[ri]].x = e.stageX;
                this[usaPiece[ri]].y = e.stageY;
                usaPiece[ri] = null;
                PuzzleGlobals.statesOnBoardUSA++;
            else {
                addNewPiece(e);
    Here is the code that creates the piece:
            public function GeoPiece(): void {
                if (PuzzleGlobals.currentLevel == "Name") {
                    this.gotoAndStop("wholeName");
                else if (PuzzleGlobals.currentLevel == "Abbrev") {
                    this.gotoAndStop("abbrev");
                else if (PuzzleGlobals.currentLevel == "Shape") {
                    this.gotoAndStop("shape");
                this.addEventListener(TouchEvent.TOUCH_BEGIN, geoPieceBegin);
    Is it possible I have a bad compiler or something? Do I need to reinstall the entire program? I just can't figure out why it would work in one operating system and not in another.
    Thanks
    Amber

  • AIR for iOS, Getting HTML5 Video to Autoplay in a StageWebView?

    Hi all,
    The video performance I get from the built in FLV video is pretty poor. I'm considering using a StageWebView to display a HTML5 page with a standard <video> in it.
    The video shows up and (if I enable controls) can be played and it looks great (much better than FLV). The only issue is I cannot find a way to have the video autoplay once the StageWebView is loaded.
    I've set the <video .... autoplay> parameter. I've also tried using JavaScript to send a video.play() (after the window load event is complete and the DOM is ready).
    Has anyone figured this out?
    I can't wait for AIR3.0 so we can just use StageVideo.. But for now I'm using AIR2.7 via Flash CS5.5 publishing for an iPad2 via AIR for iOS.
    Thanks for any tips!

    This was a pretty old post. In the advent of StageVideo it doesn't really matter anymore. StageVideo is GPU and you can autoplay all you like.
    BTW there was an old project I'm unsure if it still exists but it was called StageWebViewBridge (SWVB) that reconnected AS3 and JS. You could call methods in JavaScript right from ActionScript the same way fscommand/externalInterface works. So you could force the video to start playing using that.

  • Loading SWF's in AIR for iOS

    Hi,
    I am working on a project in AIR for iOS.  It's great that we as flash developers are now able to compile our actionscript code for iOS.
    The project i'm working on is divided in different SWF-files.  There is one master SWF file that loads the others when needed.
    Now i can't get loading of a swf file actually working.  The only thing i see is the background of the child being displayed, but then the program freezes and no actionscript code of the child gets exectuted.
    The children swf's are loaded with a simple Loader:
    var loader:Loader = new Loader();
    childLayer.addChild(loader);
    var url:URLRequest = new URLRequest("child.swf");
    loader.load(url);
    When i publish the master swf file i include the children swf files in the package.
    Is it actually possible to use multiple swf's in your iOS projects?
    And what are the limitations for this?
    Thanks.
    greeting,
    Bert

    You can control your external swf from your main.swf in the following method:
    loadswf(clips[0]);
    function loadswf(tmp:String):void{
        passedString=tmp;
        ldr= new Loader();
        ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
        ldr.load(new URLRequest(animPath+tmp));
        function progressListener (e:ProgressEvent):void{
            ploader.visible=true;
        function swfLoaded(e:Event):void {
            mcExt = e.target.content as MovieClip;
            ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded);
            mcExt.addEventListener(Event.ENTER_FRAME,onEnterfn);
            ploader.visible=false;
            addChild(mcExt);
    function onEnterfn(e:Event):void{
        var num:int=mcExt.currentFrame;
        switch(passedString){
            case clips[0]:
                if (num==1) mcExt.play();
                if (num==9) {
                   mcExt.skipmc.addEventListener(MouseEvent.CLICK,skipfn);
                    function skipfn(e:MouseEvent):void{
                        mcExt.stop();
                       mcExt.removeEventListener(Event.ENTER_FRAME,onEnterfn);
                        gotoAndStop("help");
                if (num==mcExt.totalFrames){
                   mcExt.removeEventListener(Event.ENTER_FRAME,onEnterfn);
                    gotoAndStop("help");
                break;

  • AIR for iOS device compatibility

    When I tried to test a game I have been making in Flash on my iPod Touches (I tried it on 1st and 2nd generation ones), iTunes tells me that it is not compatible with either iPods when I try to sync the devices. However, a few weeks ago, I got a simple "Hello World"-type app I compiled with AIR for iOS to work on the 2nd gen iPod Touch, but when I tried it again today, I had the same problem as I did with my game.
    It doesn't make sense that an AIR for iOS app would work one time and not another, so I have serious doubts that it is because they are incompatible with earlier iOS devices. I thought that I followed all the steps listed in order to test the apps on my devices, but there is certainly a chance that I did something wrong. Has anyone else had this problem? Does this mean that I am setting up my certificates incorrectly or doing something else wrong?

    Multitouch.inputMode = MultitouchInputMode.GESTURE;
    stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM, f);
    function f(event:TransformGestureEvent):void{
        mc.scaleX *= event.scaleX;
        mc.scaleY *= event.scaleY;

  • AIR for iOS, Library Project

    Is there (or will there be) any way to compile an actionscript mobile project, using AIR for iOS, as a library project so that other objective c applications could integrate the AIR library project within them ?

    http://custardbelly.com/blog/2011/09/21/air-native-extension-example-ibattery-for-ios/
    This is a very good example you can look, there are many others. try to google something like:"native extension for air on IOS" or if you know which component you want then go with "native extension air ios ComponentX", etc.

  • AIR for iOS performance issue on iPhone4

    Hi,
    I have a little script that changes the scale of the ball based on sample data I'm getting from the microphone.
    It is working perfectly on MacBookPro, but when I compile it into ipa and test on my iPhone4, I'm getting very slow rendering. The ball changes scale slower and doesn't hit every beat as it does when I test in on MacBook. I have tested it on iPad3 as well and it acts the same ;(
    The question is - how can I improve performance, or maybe it just can't be done with AIR for iOS?
    So my FlashCC setup is 640x960px, 30fps.
    On stage I have just an instance of the "ball" - a movie clip with 100x100px vector circle with solid fill.
    For bitmap mode I used Cache as bitmap.
    //Script:
    import flash.media.Microphone; import flash.events.SampleDataEvent;
    import flash.utils.ByteArray;
    var mic:Microphone = Microphone.getMicrophone();
    mic.rate = 8;
    mic.gain = 100;
    var diff_norm = 0;
    mic.addEventListener(SampleDataEvent.SAMPLE_DATA, SampleData);
    this.addEventListener(Event.ENTER_FRAME, loop);
    function SampleData(eventObject:SampleDataEvent):void{
              var byteData:ByteArray = eventObject.data;
              while (byteData.bytesAvailable > 0)
                        var diff:Number = byteData.readFloat() * 20;
                        diff_norm = (Math.floor(Math.abs(diff)))
    function loop(e:Event):void{
              ball.scaleX = ball.scaleY = diff_norm;
    Thanks in advance.
    RT.

    Weird, but I just tested with Matrix and ir acts the same or even slower. At least I had a hope for a minute
    So I'm still seeking for the answer to this problem.

  • Unicode characters appear as      (boxes) in AIR for IOS

    I am developing an application for iPhone and it has an input Text box. (Placed on stage from flash CS6). In the Desktop emulator everything works fine. But, on the actual phone, everything I type appears as       . But surprisingly, when I am inputting the text, (i.e. the textbox is in edit mode) the characters are displayed correctly. But as soon as I leave the box it appears as       . Is there someway I can display the text the same way it is displayed during the edit mode?
    I am trying to input Devanagari देवनागरी characters.
    P.S. I did some research on this and found that, if I specify the  font for the textbox = "DevanagariSangamMN" then there is some improvement.
    I say improvement becasue althought the boxes       are replaced by actual characters , they aren't correctly formated.
    For e.g. during edit mode the text appears as this: कार्यकर्ता
    But as soon as I leave the textbox it appears as this: कार्यकर्ता (I typed this here by adding special unicode characters ZWNJ so that characters won't join)
    Anyway, I don't like the idea of having to specify font names? What If some user would like to input chinese, how would I know what chinese font to use?
    Isn't there some way to let IOS handle things, (just like how it handles things when I am inputing text).
    Thanks.

    Thanks to everyone who replied.
    The conclusiver answer is that there are only 2 ways to display H264 video in AIR for IOS
    (more info here http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.htm l#play%28%29)
    1. Progressive download
    2. HLS format (slight caveat, in my tests at least, OSMF 1.6.1 does'nt handle this, but if you use the NetStream directly with StageVideo enabled it works)
    Updated Matrix is :
    FMS 4.5 H.264 Streaming test matrix
    RTMP
    HDS
    HLS
    HTTP Progressive Download
    AIR for Android
    Yes
    Yes
    No
    Yes
    AIR on Windows (Desktop)
    Yes
    Yes
    No
    Yes
    AIR on IOS
    No
    No
    Yes
    Yes
    Safari Browser on IOS
    No
    No
    Yes
    No

  • Publishing AIR for iOS in Flash CS5.5 gives Java VM error

    Hi,
    I have been getting the following error when trying to publish AIR for iOS from Flash CS5.5. I'm using AIR 2.7 overlayed, Windows 7 x64.
    Any help would be greatly appreciated.
    Thanks!

    I tried overlaying the latest AIR as sinious suggested, but that only changed my error message by adding the line about ADT as in the original post.
    I was finally able to get the app to compile by calling adt from the command line.  Here is an example .bat file that worked for me:
    @echo=off
    @set java_cmd="C:\Program Files\Java\jre6\bin\java.exe"
    @set java_param=-Xmx128m -jar
    @set adt_cmd="C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\AIR2.6\lib\adt.jar"
    @set target=ipa-test
    @set cert=iOS_dev.p12
    @set cert_pass=password
    @set provisioning=my_iOS_device.mobileprovision
    @set build_file=helloworld.ipa
    @set desc_files=helloworld-app.xml
    @set files=helloworld.swf AppIconsFolder
    %java_cmd% %java_param% %adt_cmd% -package -target %target% -storetype pkcs12 -keystore %cert% -storepass %cert_pass%  -provisioning-profile %provisioning% %build_file% %desc_files% %files%
    pause

  • How to make external SWFs garbage collected in Air for iOS?

    My app uses lots of external SWFs( well they are actually included in the app with a folder but they aren't embeded ) and they do not contain any bitmapdata, only vector graphics. The problem I'm having is that they seem to be never garbage collected and System.privateMemory keeps increasing as the app loads more SWFs.
    Since those SWFs only contain vector graphics, I simply nullify all the variables that are holding reference to SWF file and call System.gc().. But it doesn't seem to be working. What would I need to do for the garbage collector to clean the SWFs?
    I'm using Air for iOS 3.5.0.1060 and ActionScript3.0.

    Yes I'm calling System.gc() twice. I tried using loader.unloadAndStop(true) and it seems SWFs are being garbage collected but another problem has surfaced. When repeatedly loading and unloading SWF in a short period, the air garbage collector sometimes fails to work.
    I've tested loading and unloading same SWF 50k times and checked trace.  Occasionally, garbage collector misses to collect garbage like below( swf #45119 is not being garbage collected).
    [UnloadSWF] main.swf/[[DYNAMIC]]/45115
    [UnloadSWF] main.swf/[[DYNAMIC]]/45116
    [UnloadSWF] main.swf/[[DYNAMIC]]/45117
    [UnloadSWF] main.swf/[[DYNAMIC]]/45118
    [UnloadSWF] main.swf/[[DYNAMIC]]/45120
    [UnloadSWF] main.swf/[[DYNAMIC]]/45121

  • AIR Debug Launcher Closes on Button Click in AIR for iOS test fla

    Hi,
    I'm working with a Flash CS5.5 AIR for iOS fla using AIR 3.0. Test Movie ---> AIR Debug Launcher (Desktop) worked as expected for a couple of weeks then suddenly began to malfunction. The debug launcher fires up correctly but anytime a button is clicked in the test movie, it closes (but does not shut down completely). I don't know if I've selected something by accident but I can't get it to stop. No problems testing in Flash Professional using an ordinary AS3 fla. Any ideas?
    Thanks!

    Relaxatraja, thanks for trying to help me with this. I've tried testing for Android and for iOS... here's an example of a mobile code snippet that doesn't work in the AIR debug launcher for a contact_mc button I've made.
    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
    contact_mc.addEventListener(TouchEvent.TOUCH_BEGIN, fl_TouchBeginHandler);
    contact_mc.addEventListener(TouchEvent.TOUCH_END, fl_TouchEndHandler);
    var fl_DragBounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
    function fl_TouchBeginHandler(event:TouchEvent):void
    event.target.startTouchDrag(event.touchPointID, false, fl_DragBounds);
    function fl_TouchEndHandler(event:TouchEvent):void
    event.target.stopTouchDrag(event.touchPointID);
    Am I missing something? Do I need to import classes? Can I only test Multitouch and gestures on an actual device?
    Thanks

  • Type not found: Point in Flash CS5.5 on Mac when player is AIR for iOS

    I've installed the AIR 3.0 SDK as detailed by Porawee in this thread, including his corrections to the xml for iPhone further down in the thread. Everything worked at first, but since then I've rebooted my computer, and since the reboot I can no longer compile an .as file that compiled before the reboot and nothing has changed in that file. Specifically, I'm getting error 1046: Type was not found or was not a compile-time constant: Point. I've checked, and sure enough, I have an "import flash.geom.Point" line in with the other imports.
    Ok, now here's the truly odd part: if I change the player from AIR for iOS to AIR 3.0, it compiles just fine. I get the same error, however, when the player is AIR for Android.
    Anybody experienced/fixed this or am I re-installing Flash?

    I've been poking around trying to fix this, and I discovered something... the error occurs on this line of code:
    public function GetIndexOfPointInVector(PointToFind:Point, VectorArray:Vector.<Point>):int
    If I comment that function out (it's not used in this particular project), I don't get that error anymore, even though there are plenty of other Points in use in that very class. Possibly a problem with Vector typing?
    edit: and now StageOrientationEvent is gone.
    Message was edited by: Sean A Simpson

  • HitTestObject problem in AIR for iOS

    I've been creating a game in Flash for a while now, and I never ran into a problem with the hitTestObject function I use for simple collision detection while making the swf version of the game. I recently started compiling it with AIR for iOS, and now hitTestObject returns true once in a while when it should clearly be false. I've traced the x, y, width, and height properties of the hit boxes that are being compared and and they aren't even close sometimes when hitTestObject returns true.
    Could this be a bug with AIR for iOS or do I need to change something else when switching from Flash Player to AIR?

    Hi,
    I tried hitTestObject inside the handler for MOUSE_UP event and it works consistently for me. Where are you testing for hitTestObject in your example? Could you please file a bug at http://bugbase.adobe.com with your sources?
    Thanks,
    Sanika

  • Playing HLS stream using OSMF in Air for IOS

    Is there any sample app (source) that shows how to play HLS streams using AIR for IOS, that the OSMF team can make available?
    I am running into issues trying to get this to work as outlined here. http://forums.adobe.com/message/4013821#4013821
    TIA,
    - Abey

    Thanks to everyone who replied.
    The conclusiver answer is that there are only 2 ways to display H264 video in AIR for IOS
    (more info here http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.htm l#play%28%29)
    1. Progressive download
    2. HLS format (slight caveat, in my tests at least, OSMF 1.6.1 does'nt handle this, but if you use the NetStream directly with StageVideo enabled it works)
    Updated Matrix is :
    FMS 4.5 H.264 Streaming test matrix
    RTMP
    HDS
    HLS
    HTTP Progressive Download
    AIR for Android
    Yes
    Yes
    No
    Yes
    AIR on Windows (Desktop)
    Yes
    Yes
    No
    Yes
    AIR on IOS
    No
    No
    Yes
    Yes
    Safari Browser on IOS
    No
    No
    Yes
    No

Maybe you are looking for

  • Error while creating adf table in jdev 11.1.1.2.0

    Hi I am getting below error while running the jsf page. ======= <UIXInclude><_setupIncludeContext> Illegal call to setup the context of an include that is already in context <UIXInclude><_tearDownIncludeContext> Illegal call to tear down the context

  • PL/SQL Web Service altered method names

    Using JDev 10.1.3 production, creating a web service from a PL/.SQL procedure results in 3 names for the service. Why is this? Will it change in a future release? PL/SQL parameter list: procedure calc_slots(pdrive in out varchar2, pName in varchar2,

  • Create single TO for each position of material in purchase order

    Hi, I am facing a problem while recieving stock from GR mvt 101 I'm following this steps 1.- I'm creating a purchase order with several materials (The number of material is diferent for each material) 2.- Good Receipt with MIGO,I'm using movement typ

  • Using my new Time Capsule

    So, I have been meaning to back up my mac book for a long time now, I finally decided to sort it out and without doing any homework, rushed out and bought a time capsule. Stumbling through I managed to back up my mac to the TC. However, the flashing

  • FBCJ Cash Payment Process error

    Dear Experts, I am processing Cash Payment ( for Rs 10) using transaction  code is FBCJ so at the time of processing transaction i am getting below error , Payment amount is larger than cash on hand. Change amount Message no. F5A055 Diagnosis The amo