Copy link to clipboard
Copied
I know that I can exclude the ipad or iphone if I delete one of these rows:
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
1 = iPhone
2 = iPad
Is it possible to exclude the iPad 3 but not the older iPad versions?
Copy link to clipboard
Copied
Not in that way, What's the problem you're trying to solve?
Copy link to clipboard
Copied
We created a game but the resolution of the iPad 3 is too big for our graphics.
Some elements are too small on the ipad 3.
The next problem is that you could shoot an element a defined distance.
With the resolution of the ipad3 it isn't possible to successfully complete all the levels because you couldn't shoot so far.
Copy link to clipboard
Copied
Look at what I say to do in this thread:
http://forums.adobe.com/message/4455486#4455486#4455486
only instead of pointing to the iOS 5.1 SDK, point to the iOS 5.0 SDK. That will let you publish the app so that it runs as regular iPad size on the iPad 3.
Alternately, you could set the resolution to Standard in the publishing settings. That would be the easiest way to make the iPad 3 work at normal iPad size, but you would be giving up Retina for the iPhone 4.
Copy link to clipboard
Copied
I'm using Flash Builder 4.6 so I don't know how to set the resolution to standard.
Do you mean the row in the descriptor.xml where this is filled in:
<requestedDisplayResolution>high</requestedDisplayResolution>
Copy link to clipboard
Copied
Yes, set that to standard. If you're just doing an iPad app that's all you'll need to do to fix the issues. If you're also doing iPhone you have the choice of giving up on Retina, or doing the iOS 5.0 SDK trick I mentioned.
Copy link to clipboard
Copied
OK. This is exactly what I searched for.
What does it mean if I give up on Retina?
Can't the app be bought of iPhone 4s owner?
In the debugger of Flash Builder everything looks nice but if I test it on the iPhone 4 everything is very small.
If I set the <requestedDisplayResolution>high</requestedDisplayResolution> to standard...does it look like I see it in the debugger?
Copy link to clipboard
Copied
If you set standard then the quality on iPad 3 will be the same as iPad 2, which is what you want. But also, the quality on iPhone 4 will be the same as on iPhone 3GS. Both iPad 3 and iPhone 4 users will be able to buy the app, and it will work fine, just not in as high quality as those devices can do.
Copy link to clipboard
Copied
Are you sure that the resolution of the iPhone 4 users would be the same as on a iPhone 3?
The elements won't fit in the display.
How can I point to the iOS 5.0 SDK with Flash Builder 4.6?
I am a windows user...where I normally could specify the iOS path is written "Only for Mac users".
Copy link to clipboard
Copied
Hi,
To point to iOS 5.0 SDK using FB 4.6, goto Project Properties>Flex Build Packaging>Apple iOS.
Select the Native Extensions tab and you will see a field named Apple iOS SDK. You can give the path to iOS 5.0 SDK there.
Regards,
Neha
Copy link to clipboard
Copied
It tells me "Not supported under windows"
Copy link to clipboard
Copied
Yes. In Flash Builder 4.6, this option is only supported on Mac, as platformsdk switch was not supported on Windows at the time of FB 4.6 release.
If you are packaging on Windows, you will have to use the command line or the Flash Builder 4.7 beta version to package your application.
Regards,
Neha
Copy link to clipboard
Copied
The iPhone 4 would be the same as the 3gs, not the other way around. You would need to make your stage be 480x320, then it would work for both devices, if you have the resolution set to standard.
Copy link to clipboard
Copied
I don't think that this resolution will fit to the game.
The perfect resolution is 480x800 and 480x320 is definitely too small.
Copy link to clipboard
Copied
Could you please give me an example how I could package the app via command line?
Copy link to clipboard
Copied
Sure.
<path to AIR SDK folder>\bin\adt –package –target ipa-app-store –provisioning-profile <path to .mobileprovision file> -storetype pkcs12 –keystore <path to your p12 certificate> -storepass <certificate password> xxx.ipa <path to application.xml> -C <parent folder of your swf> <name of swf> <all other resources/resource directories separated by spaces> -extdir <path to the folder containing any native extensions being used in the application> -platformsdk <path to iOS SDK>
Regards,
Neha
Copy link to clipboard
Copied
Can I just ask a question related to this.
If I have developed a game for iPad only with movie dimensions 1024 x 768 and have the Resolution set to High, will this mean that it will display as a small window on iPad3?
I had set the resolution to high thinking it would make my graphics look as good as possible but if it is going to make the game appear in a small window on iPad 3 then this is no good.
So basically my question is what resolution should I used for an iPad only game that has all the graphics and movie dimensions at 1024 x 768?
Standard or High?
I have render mode to auto and device set to iPad.
Copy link to clipboard
Copied
What you do depends on the stage scale mode you've used. If you're using no_scale, then your 1024x768 stage will occupy the top left quarter of the Retina screen. If you use show_all or no_border, then the stage will scale to fill the Retina screen. It will also show any extra detail you have in there. So, if you have use 50% sized bitmaps in your 1024x768 stage, they will look pixel perfect on Retina. Anything that is Vector will look perfect too.
If you have other reasons to need to use no_scale, then you have to do all the sizing by code. Or, set the quality to standard, and iOS will scale it for you. It will then look the same as it would on iPad 1.
Copy link to clipboard
Copied
Thanks Colin for the swift reply. I am glad I found this thread as I had submitted my app to Apple this morning with the quality set to high and no_scale.
I recall something didn't wotk properly when it was not set to no_scale but will double check
I just did a quick build with no_scale and quality set to standard and it looks OK. I am viewing on an iPad 2. Should I notice any difference between the standard and high setting when viewing on the iPad 2?
Sorry one more question, does this mean people viewing it with these settings (standard and no_scale) will see the game looking the same on the iPad 3 as I am seeing it on the iPad 2?
Copy link to clipboard
Copied
On iPad 2 Standard and High will be identical. On iPad 3 Standard will make your 1024x768 fill the screen, and will look about the same as it does on iPad 2. Purists will still complain if they notice the slightly less perfect antialiasing.
Copy link to clipboard
Copied
Phew thanks Colin - that is a relief. I commissioned the graphics for this game before the iPad 3 came out so will take the risk of upsetting the purists.The game is for 2 year olds so hopefully they are forgiving:)
Copy link to clipboard
Copied
A new attribute ‘excludeDevices’ has been added in AIR 3.6 in the requestedDisplayResolution tag in the application descriptor. Developers will now be able to explicitly disable the specified display resolution on one or more iOS devices using this attribute. Please find more details in the following links
http://labsdownload.adobe.com/pub/labs/flashruntimes/shared/air3-6_flashplayer11-6_releasenotes.pdf
Copy link to clipboard
Copied
What you're seeing in Flash Builder publishing to iPad 3 is expected behavior. The DPI returned for iPad forces the UI to automatically scale accordingly. What's happening is the layout is being modified more than you'd like, so it's extremely small. You don't want to ship low res graphics on iPad 3 when you don't have to.
To get the standard res layout at the hi res graphics, you need to override the DPI returned for the iPad 3 with runtimeDPIProvider. This post explains how:
http://forums.adobe.com/message/4278040
Colin has some very good points for getting the standard res output for iPad 3, but in Flash Builder using any of the Flex mobile skins, the quality is too low, and it's an unnecessary step, when you can just have Flex return a lower DPI to give you the correct layout at the hi res graphics.
iBrent
Copy link to clipboard
Copied
Thank you all.
I think that I found the solution in this blog post:
http://howtodouggie.blogspot.de/2012/04/testing-flex-app-fr-ipad3-part-2.html?m=1
I can't test it on a real ipad 3 device but this should work!?
Copy link to clipboard
Copied
Below this is my solution that allow using device DPI, taking advantage of retina display, but allowing upper limiting resolution (e.g. to 1024x768) to avoid stretching assets, image backgrounds and so on. Rotation is also taken into account.
Graphically, the 1024x768 (or whatever you want) box is centered into the bigger display, and surrounded by a colored border (e.g. black border). this is the same solution adopted by Adobe on the new iPhone 5 for older app optimized for iPhone 4 resolution (they'll have vertical black rows on borders):
Application mxml:
remove applicationDPI attribute to allow using device DPI (according to documentation)
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" firstView="views.HomeView">
for every view: surround the whole content with a <s:Group> tag like this:
<s:Group clipAndEnableScrolling="true" horizontalCenter="0" verticalCenter="0"
width.horizontal="{Math.min(width, 1024)}" width.vertical="{Math.min(width, 768)}"
height.horizontal="{Math.min(height, 768)}" height.vertical="{Math.min(height, 1024)}">
then create the two states:
<s:states>
<s:State name="vertical"/>
<s:State name="horizontal"/>
</s:states>
and set a resize handler in root tag to set the current state according to device orientation:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns1="*"
resize="view1_resizeHandler(event)">
in <fx:Script>:
protected function view1_resizeHandler(event:ResizeEvent):void
{
if(width > height)
currentState = 'horizontal';
else
currentState = 'vertical';
}