• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

How/when will AIR support the new iPad?

Explorer ,
Mar 07, 2012 Mar 07, 2012

Copy link to clipboard

Copied

I believe that the following will be needed:

- new placeholders in app xml for the new iPad retina icons

- a mode that will allow the content done in 'non-retina' iPad to be viewed on new IPad (like the tag that makes iPhone 4 to fill 4 pixels and be used as the iPhone 3)

- a simulator for all AIR environments, which allows the visualization of the iPad retina display (I guess it will have to have scrollbars for the first time in a mobile phone simulator, since the height is going to be 2048 pixels 😮 )

- anything left on the list?

TOPICS
Development

Views

16.3K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Explorer , Mar 17, 2012 Mar 17, 2012

To avoid breaking apps that are not designed for the iPad's new retina display, apple only enable the full retina resolution on apps built with the iOS 5.1 SDK or later. So, to enable the higher resolution on your air app, you have to use this version of the SDK when compiling your app. You can only so this on a Mac with Air 3.1 or later. Use the -platformsdk compiler setting to point to the iOS 5.1 SDK and set the requestedDisplayResolution to high. Then you'll get the higher resolution.

Votes

Translate

Translate
Explorer ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

Uncool that images are clearly stretched when they should appear in all details...

May I ask what are the reasons you're sticking to 2.6?

I think the first thing that will come in the mind of Adobe people to fix this is that you use the latest player.

Thanks a lot for the info, it helps!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

He need setup Air 3.2 RC al least there everything if fine

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

To avoid breaking apps that are not designed for the iPad's new retina display, apple only enable the full retina resolution on apps built with the iOS 5.1 SDK or later. So, to enable the higher resolution on your air app, you have to use this version of the SDK when compiling your app. You can only so this on a Mac with Air 3.1 or later. Use the -platformsdk compiler setting to point to the iOS 5.1 SDK and set the requestedDisplayResolution to high. Then you'll get the higher resolution.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

If you want to complie 5.1 sdk - you need previusly install it. Right?

Looking on adt for compiling - it's use also on Windows files from xcode. Right? so we ca simple copy this files

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

I will overlay to 3.1 /3.2 SDK for windows and see results, if nothing good will do the same for mac.

To other posts, if you have your sample project then send me the file i will compile it or compile file and give me provisioning profile so we know you di it righ and dont relay on my curently 2.6 SDK system

and resolution was 2048*1536, and i use Flash 5.5

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

I've done some tests now and believe RichardLord has mapped a solution--but I'm curious the EXACT behavior.  I can see using the current 3.1 out of the box (with CS5.5 or FlashBuilder) the 1024x768 is just stretching and certain pixel images can definitely look worse on iPad3 than iPad2--which is scaled at 1.0.  For bitmap images the scaling with smoothing works fine.  I guess my thought is some projects don't require you take full advantage of the new size.  I'd like to know the answers to a couple concerns:
--if I wait at least until I have a mac to test on what is the EXACT behavior?  Can you  reliably grab the stage.stageWidth?   Using the current tools it gives me 1024. 

--I have projects where I'm recycling previously scaled graphics--as small as 800x600.  I've been planning on scaling them myself using smoothing.  I suppose if stage.stageWidth works as I expect it'll be easy.

I'm not ready to convert to mac but think I need to order at least a mac mini.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 18, 2012 Mar 18, 2012

Copy link to clipboard

Copied

phillipkerman - I only built the project I am currently working on. The difference when compiling against iOS 5.1 was distinct with vector graphics clearly rendered at a higher resolution than when compiling against iOS 5.0 or when running on an iPad2. I didn't have time to do more and the iPad is at work so can't investigate further today.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 18, 2012 Mar 18, 2012

Copy link to clipboard

Copied

what is Platform SDK and how you select witch iOS you wnat to use it for?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

ok me back in here

I updated (overlayed AIR SDK to 3.1 v14 I hope? dont know how to confirm that but XML file changed) I seted HIGH settings for quolity and rebuild the test vector screen and still getting crappy results.

XML:

  <iPhone>

    <InfoAdditions>

            <![CDATA[<key>UIDeviceFamily</key><array><string>2</string></array>]]>

    </InfoAdditions>

    <requestedDisplayResolution>high</requestedDisplayResolution>

  </iPhone>

Canvas Size: 2048*1536

Can some one get something better?

IMG_0008.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 17, 2012 Mar 17, 2012

Copy link to clipboard

Copied

I too have tried the high requestedDisplayResolution, latest AIR, -platformSDK linked to IOS 5.1, NO_SCALE setting, and high-res artwork, but it continues to resize my artwork as if I had a 1024x768 screen.  And also, there is no support for the retina iPad icon (144px), although the retina iPhone icon (114px) seems to do pretty well.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2012 Mar 18, 2012

Copy link to clipboard

Copied

RichardLord; I'd like to hear your exact process as I will go try this week on a mac.  For whatever reason acrowne doesn't seem to have it working--so maybe there are more details.  Do you use the SWF directive like: [SWF(width="1024", height="768")]?

Also--and this is probably a different topic--but wouldn't you get the best performance if you took your vector graphics and make bitmaps (scaled properly for the target)?  Maybe that's just not worth the pain--but I'd think it'd improve performance.

Yes, I think we're stuck on the icon sizes.  Hopefully Adobe can come up with a patch soon.  The fact RichardLord can make it work makes me believe it's possible for adobe to update the magic stuff that makes it possible to deliver in the first place.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 18, 2012 Mar 18, 2012

Copy link to clipboard

Copied

I am double posting at this point to two discussions on Adobe Forums, so apologies to followers of both.

Reading Adobe's support materials, I gather that in the Native Extensions dialog, setting the Apple iOS SDK is the equivalent of setting -platformsdk. So I set that value to point to my copy of the iPhoneOS5.1.sdk.  Below is my sample project code.  In the application descriptor file, the only thing I changed from the default is my project id to match the provisioning profile and adding <requestedDisplayResolution>high</requestedDisplayResolution> to the iPhone xml tag.  I tested this out on my iPhone 4 and it worked great.  On the new iPad only the top corner of the image appears on the screen because of the scale.  I am using AIR 3.1, so unless the 3.2 beta includes a fix, it seems that Adobe needs to produce an update before AIR supports the new iPad's display.  Please tell me if you find anything I missed.

package

{

          import flash.display.Sprite;

          import flash.display.StageAlign;

          import flash.display.StageScaleMode;

          import flash.display.Bitmap;

          public class RetinaTest extends Sprite

          {

                    [Embed(source="bgd@2x~ipad.png")]

                    private var bgdImg:Class;

                    private var bgd:Bitmap;

                    public function RetinaTest()

                    {

                              super();

  // support autoOrients

                              stage.align = StageAlign.TOP_LEFT;

                              stage.scaleMode = StageScaleMode.NO_SCALE;

                              bgd = new bgdImg();

                              addChild(bgd);

                    }

          }

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 19, 2012 Mar 19, 2012

Copy link to clipboard

Copied

I confirmed my test this morning. Specifying the iOS 5.1. sdk in the platformsdk setting works. I wrote a blog post with details of the test - http://www.richardlord.net/blog/using-the-ipad-retina-display-with-adobe-air

acrowne - Don't know why yours doesn't work. All I can think is perhaps Flash Builder ignores the platform sdk if you don't have any native extensions that need it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 19, 2012 Mar 19, 2012

Copy link to clipboard

Copied

Thanks Richard, very good article.

Unfortunately, @acrowne's test shows that with Flash Builder things are not as easy.

However, this is very interesting.

Building with Air 3.1

As I said above, I initially used the public beta of Air 3.2 for this test. I reran the test using Air 3.1 and the results were the same, except building with iOS 5.1 gave the stageWidth as 1920px and stageHeight as 1280px. All other results were the same as for Air 3.2.

Apparently, we're not yet in a situation in which we can say that AIR is "device-independent" since a new device is described  differently by two different versions of AIR.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 19, 2012 Mar 19, 2012

Copy link to clipboard

Copied

"Apparently, we're not yet in a situation in which we can say that AIR is "device-independent" since a new device is described  differently by two different versions of AIR."

Not exactly. The two different versions of Air describe the stageWidth and stageHeight differently for ALL devices. It seems to take Air a while to get the correct stageWidth and stageHeight. With Air 3.2 it's available after one frame, with Air 3.1 it takes longer (in the comments on my blog post, Richard Leggett says three frames is usually enough). And both versions give correct values for Capabilities.screenResolutionX/Y and for stage.fullScreenWidth/Height, which are the more reliable values.

The place where device independence does fail is that Capabilities.ScreenDPI is incorrect for the new iPad. I use this to adjust the size of user interface elements to be the same actual size on all displays. Because Air reports the wrong values for the new iPad, I have to treat this as a special case.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 19, 2012 Mar 19, 2012

Copy link to clipboard

Copied

RichardLord, I can confirm that running the identical test I posted above using AIR 3.1 but using the command line instead of Flash Builder produces a retina version of the app.  I am going to try out making a placeholder native extension and see if that will force Flash Builder to include the -platformsdk line, which I am presuming is being left out.

Thanks for the blog post.  Great info.

Adrian

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 19, 2012 Mar 19, 2012

Copy link to clipboard

Copied

Success!  So after including Adobe's sample vibration Native Extension (here) in the build and setting the requestedDisplayResolution to high, I am able to use Flash Builder 4.6 to build retina enabled iPad apps.  Thanks RichardLord for the help.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Apr 11, 2012 Apr 11, 2012

Copy link to clipboard

Copied

Actually, with OS 10.7, FB 4.6, AIR 3.1, the thing works without having to "fake" the usage of ANE, you just have to include one in your package without using it in your code.

iPad goes to HD by simply choosing the "requestedDisplayResolution" (set to high) and by including any ANE in the package, but no need to instantiate it.

However, even with this trick, we cannot say AIR supports the new iPAD yet.

Things that are missing:

- Capabilities.screenDPI is still 132 (a mess for media-related CSS since ScreenX can only be used runtime, not in CSS - and for MultiDPI bitmaps).

- tabbedviewnavigator is NOT optimized for the ipad. top bar and bottom bar are not proportional to the new display...

- fonts are rendered proportionally (meaning a 16 font will render as an 8) whereas there should be a method to render the same font with more pixels on the iPad HD.

On the bright side:

- iPAD HD is faster than iPad 2 in all kinds of writing and drawing.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 15, 2012 Jul 15, 2012

Copy link to clipboard

Copied

hi.. does anyone know what needs to go in the descriptor file to support high res on iphone but standard res on ipad?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 15, 2012 Jul 15, 2012

Copy link to clipboard

Copied

There is no descriptor setting that will allow you to do what you ask. It would be a useful feature, but I suspect it wouldn't be possible.

But, you can achieve what you want in another way. Set the quality to high, so that the iPhone Retina works, and also include an ANE of any kind. When you have an ANE you are able to set the SDK that is used. Set the SDK to be iOS 5.0 instead of iOS 5.1. 5.0 doesn't know about the iPad Retina, and will therefore force the app to work at the standard iPad resolution.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 15, 2012 Jul 15, 2012

Copy link to clipboard

Copied

hi Colin.. thanks for the reply, that solutions sounds good. i have the latest xcode and it has an sdk at this path..

Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

do you know if it also has 5.0 somewhere? or would i need to download that?

cheers

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 15, 2012 Jul 15, 2012

Copy link to clipboard

Copied

If you go into Xcode Preferences, Downloads, you can download other SDKs.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 20, 2012 Jul 20, 2012

Copy link to clipboard

Copied

really? i've not found that option in Preferences > Downloads. i saw suggested on another forum to download an older version of xcode and use the sdk from that. is it likely that the descriptor file in a future release of AIR will allow for specifying reina for iphone, standard for ipad? it would be very helpful

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jul 21, 2012 Jul 21, 2012

Copy link to clipboard

Copied

Does anybody know if the feature requested by Bonsai is even available if you code directly in Xcode?

However, nice catch by Colin!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 21, 2012 Jul 21, 2012

Copy link to clipboard

Copied

LATEST

I have the need to be Retina on iPhone and standard on iPad, and the way I do it is to have the iOS SDK 5.0 folder in my downloads folder, not even in Xcode at all. Then, in Flash Pro CS6 I have an ANE (you could use any ANE, say the vibration one) and because my FLA has an ANE in it, I get to choose what SDK it should use, in the iOS settings. I point it to the 5.0 folder.

Doing this will override AIR 3.3's instance on using the 5.1 SDK!

I did just drag the 5.0 SDK out from an older version of Xcode.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines