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.
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.)
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.
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.
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();
}
}
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
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);
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.
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.
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.
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.
I have a couple of queries for you.
sure, here are the answers:
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.
North America
Europe, Middle East and Africa
Asia Pacific