Skip navigation

AIR3 iOS Start Up Screen is messed up [HELP]

Jan 30, 2012 11:43 AM

  Latest reply: sanniv_ios, Dec 20, 2012 11:50 PM
Replies 1 2 Previous Next
  • Currently Being Moderated
    Mar 1, 2012 1:57 PM   in reply to John R Nyquist

    Thanks John, that's how I remeber it.  Just to copy/paste the relevent information directly (below).

    This is also how our ADT helper tool works.

     

    Providing Device-Specific Launch Images

    Universal apps must provide launch images for both the iPhone and iPad idioms. Because iPhone apps require only one launch image (Default.png), whereas iPad apps typically require different images for portrait and landscape orientations, you can usually do without device-specific modifiers. However, if you create multiple launch images for each idiom, the names of device-specific image files are likely to collide. In that situation, you can append a device modifier to filenames to indicate that they are for a specific platform only. The following device modifiers are recognized for launch images in iOS 4.0 and later:

    • ~ipad. The launch image should be loaded on iPad devices only.
    • ~iphone. The launch image should be loaded on iPhone or iPod touch devices only.

    Because device modifiers are not supported in iOS 3.2, the minimal set of launch images needed for a universal app (running in iOS 3.2 and later) would need to be named Default.png andDefault~iphone.png. In that case, the Default.png file would contain the iPad launch image (for all orientations) and the Default~iphone.png file would contain the iPhone version of the image. (To support high-resolution displays, you would also need to include a Default@2x~iphone.png launch image.)

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 1, 2012 1:58 PM   in reply to Pea

    Whatever the possible complications you can get into, you only need the name to be Default-Landscape.png. I wouldn't be surprised if the alternate ~ipad name caused Flash to be confused.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 1, 2012 2:02 PM   in reply to Applauz78

    Interesting information nonetheless. I haven't dev'd any universals yet. Thanks for the tip.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 1, 2012 2:06 PM   in reply to sinious

    For apps that are landscape only, but for iPhone, iPhone 4, and iPad, you just need:

     

    Default.png

    Default@2x.png

    Default-Landscape.png

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 1, 2012 8:15 PM   in reply to Applauz78

    Don't forget the inverted state, Default-LandscapeRight.png.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 1, 2012 8:48 PM   in reply to sinious

    You don't need that. The Left and Right variations overwrite the Default-Landscape one, but if they're not there, the Landscape one is used,, and oriented to the correct direction.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 2:44 PM   in reply to Pea

    Pea, did you get this working? I still can find the magic combination of settings. I either get the rotation animation or the momentary scaling. Can't get a clean start-up.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 2:50 PM   in reply to spinlight

    Sorry Spinlight, I haven't tried again.  I'll be doing so today or tomorrow and will let you know. 

     

    It is strange how it is obviously the Landscape image, but rotated 90 degrees and scaled strangely to fit portrait mode so that it is all squished in the X-axis and stretched out in the Y-axis.  I briefly tested it with an additional Portrait image, but this was simply ignored.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 2:54 PM   in reply to Pea

    Pea, thanks. I'm feeling pretty confident is a new issue with 3.1. I've tried so many combinations today. Others have said that 3.0 doesn't do this.

     

    It is definitely using the landscape image like you are describing. I added labels to my default files for testing so I can at least confirm that I'm seeing what you are seeing. Thanks again.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 2:59 PM   in reply to spinlight

    I'm with spinlight. Seems to be a 3.1 issue.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 5:29 PM   in reply to John R Nyquist

    My best result so far is using this combination:

     

    Aspect Ration: Auto

    Full screen: Checked True

    Auto orientation: Checked True

    Rendering: CPU

    Device: iPAD

    Resolution: Standard

     

    Included Defaults (I think just 2 are needed in this case):

    Default-Portrait.png

    Default-Landscape.png

     

    And my XML file:

    <initialWindow>

            <content>AppName.swf</content>

            <systemChrome>standard</systemChrome>

            <transparent>false</transparent>

            <visible>true</visible>

            <fullScreen>true</fullScreen>

            <renderMode>cpu</renderMode>

            <autoOrients>true</autoOrients>

        </initialWindow>

     

    The result is that when held in either landscape orientation it starts up properly and goes into my app. When held vertically, it uses a portrait defaul and then rotates to the right landscape mode. I think this is pretty good.

     

    Also in my first frame I have this:

     

    stage.scaleMode = StageScaleMode.NO_SCALE;

    stage.align = StageAlign.TOP_LEFT;

    import flash.display.StageOrientation;

    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);

    var startOrientation:String = stage.orientation;

     

    if (startOrientation == "default" || startOrientation == "upsideDown") {

              stage.setOrientation(StageOrientation.ROTATED_RIGHT);

    } else {

              stage.setOrientation(startOrientation);

    }

     

    function orientationChangeListener(e:StageOrientationEvent) {

              if (e.afterOrientation == "default" || e.afterOrientation == "upsideDown") {

                        e.preventDefault();

              }

    }

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 5, 2012 10:48 PM   in reply to spinlight

    The issue has been fixed in the next release . You wont faceany such issues in it .

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 6, 2012 5:24 AM   in reply to Abhayjit Singh

    When you say "next release" do you mean the recently posted 3.2, a 3.2 that is later than that, or do you mean a future release (perhaps called 3.3)?

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 11, 2012 3:52 PM   in reply to Colin Holgate

    i'd like to know which release is going to fix this too - i've just tried 3.2 with Flash CS5.5 and this problem still exists for me. The default.png rotates and stretches as it does so. I'm not sure why that png should rotate though.

     

    My settings are:

    Aspect Ration: auto

    Full screen: ticked

    Auto orientation: ticked

    Rendering: GPU

    Device: iPhone and iPad

    Resolution: High

     

    I'm adding:

    Default.png

    Default@2x.png

    Default-Landscape.png

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 11, 2012 4:21 PM   in reply to alistairmcclymont

    Not sure why yours doesn't work, but 3.2 fixed mine.  Mine was working, then 3.1 broke it, and 3.2 fixed it again.

    My app is iPad and landscape only, and I have Default-Landscape~ipad.png only

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 11, 2012 4:49 PM   in reply to Pea

    i'm on an iphone, i found that if i only have default.png in there it works ok. if i put default@2x.png in then it works fine when the iphone is in portrait, but if i start with the iphone in landscape you see the default@2x.png image rotate and stretch as it does so.

     

    i just downgraded to air 3.0 and the issue is still there

     

    i'm using this to rotate the stage as soon as it is loaded, and it seems that it is also rotating the default@2x.png, but not the default.png. This i find really odd

     

    var startOrientation:String = stage.orientation;

    if (startOrientation == StageOrientation.DEFAULT || startOrientation == StageOrientation.UPSIDE_DOWN)

    {

         stage.setOrientation(StageOrientation.ROTATED_RIGHT);

         fast = false;

    }

    else

    {

         fast = true;

    }

     

    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);

     
    |
    Mark as:
  • Currently Being Moderated
    Dec 20, 2012 6:42 AM   in reply to Abhayjit Singh

    Hi Abhayjit,

     

    Now we are facing exact same issue when we give path of iOS 6 sdk, which is required for AdSupport.framework used inside one of our native extension. We are using Flash Builder 4.6 with AIR 3.4, can you give some light if this is again a known issue? and if there is some work around available?

     

    Thanks

    Best Wishes,

    Sanniv.

     
    |
    Mark as:
  • Currently Being Moderated
    Dec 20, 2012 10:02 AM   in reply to sanniv_ios

    The article http://www.adobe.com/devnet/air/articles/launch-images-ios.html will help you out and fix the issue. Hopefully you will just need the right resolution launch image.

     
    |
    Mark as:
  • Currently Being Moderated
    Dec 20, 2012 9:28 PM   in reply to Varun Bhatia

    Hi Varun, thanks for prompt response...

     

    I personally checked the Default images size here and found they are same as required, also now I included all required images also while packaging e.g. Landscape, Portrait, @2x, etc.

    then also I can see 90 degree shift of Landscape images if app is opened in Landscape mode... its shrinked .

    one point i can mention that if app is opened in Portrait Mode then the portrait images shows up fine (no 90 degree shift). So I guess we narrowed down the issue to Landscape images only which get 90 degree shift.

     

    Can you test the same at your end, I followed following steps:

     

    1. Add native extension which requires AdSupport.framework

     

    2. Give path of iOS sdk while packaging like this:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform /Developer/SDKs/iPhoneOS6.0.sdk

     

    3. Add Default images as shown in screenshot.

    Screen Shot 2012-12-21 at 10.18.20 AM.png

    4. Then try to run the app while iPad is in landscape mode.

     

    Please let me know if anybody has any work around, we need to have AdSupport.framework in our app, its important

     

    Best Wishes,

    Sanniv.

     
    |
    Mark as:
  • Currently Being Moderated
    Dec 20, 2012 9:40 PM   in reply to sanniv_ios

    I have a couple of queries for you.

    1. Don't you face such issues when you don't use the AdSupport ane?
    2. Don't you face such issues when you dont use platformsdk switch to iOS 6.
    3. Have you tried building with AIR 3.5 that has inbuilt iOS 6 support and you wont have to use platformsdk switch while you will still  be able to use the ane?
    4. What are you using for autoOrients and aspectRatio values in app-xml?
     
    |
    Mark as:
  • Currently Being Moderated
    Dec 20, 2012 11:50 PM   in reply to Varun Bhatia

    sure, here are the answers:

     

    1. Don't you face such issues when you don't use the AdSupport ane?

     

    Yes I face this issue even if I removed AdSupport ane, since iOS 6 sdk path is still there

     

    2. Don't you face such issues when you dont use platformsdk switch to iOS 6.    

     

    No, once I removed iOS 6 sdk path, this issue is gone.

     

    3. Have you tried building with AIR 3.5 that has inbuilt iOS 6 support and you wont have to use platformsdk switch while you will still  be able to use the ane?

     

    OK, THIS DID THE TRICK . Now I am able to get IDFA from AdSupport.framework (iOS 6 specific) without my splash screen mess.

     

    So Anyone who is trying to use iOS 6 specific framework, please upgrade AIR sdk to 3.5, splash screen messup will go off...

     

     

    4. What are you using for autoOrients and aspectRatio values in app-xml?

    a.  <autoOrients>true</autoOrients>


    b. We didn't specify aspectRatio value in app-xml, its commented in it.

     
    |
    Mark as:
1 2 Previous Next
Actions

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points