Listen Keyboard events in AIR for iOS? [HELP]

It works in the browser...  Is there any way in AIR to do this for iOS ?

Hi, this is an old post but it is related to issues that still in Adobe AIR 3.7, I have the same situation implementing an iCade controller, I have solved the problem creating an iCade proxy that use a hidden TextField to capture text change events that are mapped into keyboard events and finally dispatched to the game listener. This is the code so far, it works but is not optimized, im sure you can optimize and remove the useless code from here:
package {
          import flash.display.DisplayObjectContainer;
          import flash.display.FocusDirection;
          import flash.display.Sprite;
          import flash.events.Event;
          import flash.events.KeyboardEvent;
          import flash.events.MouseEvent;
          import flash.events.TouchEvent;
          import flash.text.TextField;
          import flash.text.TextInteractionMode;
          import flash.ui.Keyboard;
           * ICadeProxy
           * @author Juan Fernando Vélez Melguizo - © Copyright 3DLogical - www.3dlogical.com
          public class ICadeProxy extends Sprite {
                    private var fireKeysDown:String = "yuihjk";
                    private var fireKeysUp:String = "tfmrnp";
                    public var inputField:TextField;
                    public function ICadeProxy() {
                              if (stage) {
                                        init();
                              } else {
                                        addEventListener(Event.ADDED_TO_STAGE, init);
                    private function init(e:Event = null):void {
                              removeEventListener(Event.ADDED_TO_STAGE, init);
                              inputField = this.inputFieldSource;
                              initKeyboardCapture();
                    public function initKeyboardCapture():void {
               inputField.text = "";
                              inputField.addEventListener(Event.CHANGE, doKeyChange);
                              inputField.addEventListener(Event.DEACTIVATE, doRefocus);
                              inputField.addEventListener(MouseEvent.CLICK, doClick); // This is for debug only
                              recoverFocus();
                    public function doClick(e:MouseEvent):void {
                              trace("CLICKED ME:" + e.currentTarget);
                    public function dispose():void {
                              inputField.removeEventListener(Event.CHANGE, doKeyChange);
                              inputField.removeEventListener(Event.DEACTIVATE, doRefocus);
                              stage.focus = null;
                    private function doRefocus(e:Event):void {
                              recoverFocus();
                    public function recoverFocus():void {
                              stage.focus = this;
                              stage.focus = inputField;
                              inputField.dispatchEvent(new MouseEvent(MouseEvent.CLICK, false, false, 384, 512, inputField));
                              inputField.text = "";
                              inputField.requestSoftKeyboard();
                    private function doKeyChange(e:Event):void {
                              var t:String = inputField.text;
                              var k:String = t.charAt(t.length - 1);
                              var eventType:String = "";
                              var newKey:uint = 0;
                              if (k == "w") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.UP;
                              if (k == "x") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.DOWN;
                              if (k == "a") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.LEFT;
                              if (k == "d") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.RIGHT;
                              if (k == "e") {
                                        eventType = KeyboardEvent.KEY_UP;
                                        newKey = Keyboard.UP;
                              if (k == "z") {
                                        eventType = KeyboardEvent.KEY_UP;
                                        newKey = Keyboard.DOWN;
                              if (k == "q") {
                                        eventType = KeyboardEvent.KEY_UP;
                                        newKey = Keyboard.LEFT;
                              if (k == "c") {
                                        eventType = KeyboardEvent.KEY_UP;
                                        newKey = Keyboard.RIGHT;
                              if (k == "o") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.Q;
                              if (k == "l") {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.P;
                              if (fireKeysDown.indexOf(k) != -1) {
                                        eventType = KeyboardEvent.KEY_DOWN;
                                        newKey = Keyboard.SPACE;
                              } else
                              if (fireKeysUp.indexOf(k) != -1) {
                                        eventType = KeyboardEvent.KEY_UP;
                                        newKey = Keyboard.SPACE;
                              stage.dispatchEvent(new KeyboardEvent(eventType, true, false, 0, newKey));

Similar Messages

  • 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 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

  • How to record a time-limited video with Adobe AIR for iOS

    I am trying to record a time-limited video with Adobe AIR for iOS.
    For example, I want to implement the following function. Start a one-minute timer before launching CameraUI to record video. When the timeout event happens after one minute, stop recording video, close the CameraUI view and obtain the video data so far.
      I have several questions related to that.
      1. How to stop recording video from outside the CameraUI view(in this case, from the timeout event handler) and then close the CemeraUI view? As far as I know, to close the CameraUI view, the only way is to press the [Use Video] button or the [Cancel] button from inside the CameraUI view. Is it possible to close it from outside?
      2. Even if the first problem mentioned above is solved, then how can I get the video data so far(in this case, the video data before the timeout). I know that normally we can get a MediaPromise object from MediaEvent parameter of the  complete handler, and read the video data from the MediaPromise object. But obviously in this case, we can not access the MediaPromise object just because the complete handler itself will not be executed since the [Use Video] button is not pressed.
      3. Is it possible to add a stopwatch to show possible remaining recording time when CameraUI view is open? It seems that the CameraUI automatically uses the full screen of iOS device(in my case, iPad) and there is no extra space to show the stopwatch.
      Are there any solutions or workarounds about the three problem above? I really appreciate it if anyone has any idea about this. Thanks in advance.

    You'd have more control by using the Camera object, showing the camera on a video object inside a Sprite, and capturing that. Then you could put whatever graphics alongside it on the stage.. I've used FlashyWrappers in a test to capture the video to the library.  It took some work, but the test worked well...
    Flash/AIR record videos of your apps and games: Rainbow Creatures

  • How to reduce suttering in Air for iOS GPU mode?

    My game currently runs at 60FPS on iPad 2 and has no problem regarding rendering speed but I'm rather annoyed by constant stuttering which causes the game to stop for 0.1-0.5 sec  once in a while. The stuttering behavior is similar to when garbage collector is ran and I supposed it is casued by GPU memory swapping as my game uses lots of bitmapdata.
    Problem is that my game transits one scene to another scene seamlessly without stopping animations in the game screen by letting old game scene sliding out of the screen and new scene sliding in. So there's no time to preload/precache graphics assets used in the new scene. After transitting different scenes a few times, the game starts stuttering when trying to show new images.
    My game works fine without stuttering on old PCs but on iPad2 it is quite obvious. Could anyone tell me some tips to reduce stuttering when using Air for iOS? In the game, all vector graphics are pre-drawn to bitmapdata(so no vector graphics are shown) and the size of graphic assets each scene has is about 2048*1024 pixels. There are about 10 scenes. On top of that, there are common interface graphic assets which are used in all scenes and the size is about 30x 400*400 pixels.
    I know the game uses quite a lot of graphic resources. Making the game preload the assets before transitting to a new scene will eliminate stutter but I'd still like to see if I can keep the seamless scene transition on iOS.
    I'm currently using Air3.5 + Flash CS6.
    * I mean preloading/precaching by actually displaying( addChild and visible=true)  them on stage and make time for GPU to cache. All the actual graphic data are already loaded.

    Some things that might help:
    I've heard that textures are uploaded as square textures on iOS. I'm not certain that really happens, but if it does then having two 1024x1024 textures would be better than one 2048x1024, because that would end up actually taking 2048x2048.
    Bitmaps are sent to the GPU when they first hit the stage, and it takes a significant amount of time for them to get there. If you are timeline animating a transition to the next scene, stagger the graphics that are going to be appearing next. That is, before you start to move on to the next area have the biggest bitmap of the next are already touching the edge of the stage. It can be invisible, or underneath another graphic, it will still get uploaded. But if you tween in all of the graphics exactly when they are needed, they will take a while to upload.
    Dispose of the bitmaps that are no longer in the scene. I think your stuttering is because you're going into a new area that has a lot of new graphics, and the GPU still has the bitmaps from the current scene and the one before that, and so has to spend time freeing up the memory before taking the new bitmaps. If you had already disposed of them the GPU might not need to clear memory for you.
    There is System.gc(). That will force the system to garbage collect, which you could do at moments that there isn't anything animating.

  • Uploading AIR for IOS thru Application Loader I get the following error - The package does not contain an Info.plist.

    I'm publishing an .fla in AIR for IOS.
    I'm in CC 2014 so first I need to know which AIR should I publish in?
    newest is AIR 14.0.0.178 for IOS
    IOS deployment type is App Store
    publishes with no error.
    I see the following files included .swf and app.xml
    I convert the .ipa to a zip file
    Upload that thru the Application Loader I get the following error
    The package does not contain an Info.plist.
    Where is the infoplist for this and do I convert the .ipa and the info to a zip file?
    I converted the .ipa to a .zip and the intoplist file is NOT THERE  how do I generate this?
    Any help here?

    Ok this is becoming very very frustrating as I have been at this for hours now. So the only way to explain this is to write what I did step by step as I have to be doing something wrong, just to recap:
    I was publishing from Flash CC 2014 using AIR 14.0 and getting Digital Certificate is not valid message.
    Was instructed to download new AIR 17 , I did this installed into Flash and used to publish.
    I used my previous p12, app ID and distribution certificates all generated properly.
    The file worked ONCE but I got an app ID error ( I understood I used the wrong app ID)
    I changed it to the right app ID and the very next time and after 10 attempts I got the same error  Digital Certificate is not valid
    SO I then downloaded AIR 16.0
    RE DID ALL MY CERTIFICATES AND P12'S
    went to publish and I STILL GET THE SAME MESSAGE   Digital Certificate is not valid

  • 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

  • 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

  • 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.

  • Doki, one of the biggest Adobe Air for iOS projects, released yesterday

    I am proud to present one of the biggest Adobe Air for iOS projects, that was released yesterday. Amazingly, the project completed in less that a year. Doki is a unique modern method of learning the basics of a foreign foreign language without the use of grammar and writing.  Through colourful animated scenarios and characters, Doki brings to life a number of languages through real life situations, humour and interactive exercises. Exclusively designed for the iPad 2, New iPad, and iPhone 4S, Doki teaches five different languages: English, French, German, Iberian Spanish and Latin American Spanish. Each language has two levels: Doki and Doki Further.  Both levels have been designed to teach the basics of these languages so that you can communicate with confidence.  In Doki, a beginner’s level, the learner navigates through 14 chapters or ‘places’ in Doki City, listens and repeats the phrases and then solves simple interactive exercises.  Each chapter is divided into lessons (a total of 51) that present key words and phrases in English and the other languages Doki covers. Doki Further, a more advanced beginner’s level, consists of 9 chapters with 28 lessons that take place in Doki City.
    The development of Doki is based entirely on Adobe Air . The result is spectacular. With a development team that consisted of 5 programmers, 2 designers, 3 language specialists, one assistant programmer, plus a team of 4 testers, the gigantic project of 14 apps was completed in less than a year, resulting in very low development costs!
    Please visit http://www.dokispeak.com for further details.

    Pretty cool.

  • 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

  • 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;

  • 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.

  • Edit application settings AIR for iOS not working

    Hi all,
    I'm trying to create a .ipa so I can test my app on my iPhone but my Flash cs6 will no longer let me edit application settings so I can publish the file.
    The first time I did it, it was working fine. I added my certificate and my Provisioning Profile and published a .ipa file.
    Now, when I click the wrench tool icon or go through the file menu and select AIR for iOS settings, nothing happens. All it does is generate an .xml file for me ("filename"-app.xml).
    What is wrong and how can I fix this?
    I've tried rebooting.
    I have the same problem on Flash cs6 and Flash cs5.5 on two different computers.
    I have an iOS development Certificate.
    I have an iOS development Provisioning Profile.
    Thanks in advance for your help!
    Cheers,
    André

    Here's the link to the bug report in Adobe bugbase:
    Bug#3850040 - Flash CS6 crash
    Everyone PLEASE up Vote this bug ASAP!   (right side panel - under Attachments section)
    It's been 2 weeks since the bug was reported and it's status is still "unverified"...

  • 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

Maybe you are looking for