Welcome to the exciting world of mobile development. To answer your question, no FB 4.6 does not support building for iPhone 3G. But to understand why, let me explain a few things.
1. Flash Builder 4.6 uses the AIR SDK to compile for mobile. The AIR SDK can be used as a standalone tool kit for packaging any AS3 built SWF into Android or iOS. AIR only supports arm7 processors, so specifically iPhone 3GS, iPhone 4/S, iPod 3rd Gen (16/32 gig), iPod 4th Gen, iPad 1, 2, 3. Android builds support arm7 processors and Android 2.3+ OS (well, maybe 2.2, but 2.3 gets all the features available in AIR).
2. Apple themselves have stopped supporting the older devices (non arm7 processors). You won't be able to upgrade to the latest iOS 5.1 on an iPhone 3G. So personally, I wouldn't worry about targeting the older devices.
Let us know if you have more questions, and good luck!
Of course, it wasn't the targeting of devices that was the issue, it's that he has a 3g. If he wants to test on a real device the purchase of Flash Builder 4.6 would cost $700 for Flash Builder, and another few hundred for a new iPhone or iPod Touch.
Flash Builder Standard is $250. The premium edition is not required.
An iPod Touch 4th Gen 8gb can be had for well under $200.
Or pick up a second hand device. Make sure it's in the compatibility list though.
Thanks for the promt response.
Does that also mean that iphone apps made in Flash cs5 Professional wont be able to run on the iphone 3g? or is this issue specific to Flash builder 4.6?
From what I understand there arent any specific iphone product settings in Flash cs5 professional?
Flash CS5 apps will run on the 3G, and the older iPod Touch. You won't get the better performance and new features of recent versions of AIR, but it works well enough.
If you upgrade to CS5.5, or CS6 when that is available, then you would have the same problem as with Flash Builder 4.6. So, keep Flash Pro CS5 kicking around, just for making apps that are for the older devices.
Really impressed with your response times on here... very knowledgeable and efficient.
Just trying to think now how to get all my code from flash builder trial into flash professional to try this on the 3g... is there an easy way to transfer actionscript projects from flash builder to adobe cs5 pro?
Im guessing swf or loading in an external swf?
I'll take knowledgeable, Colin can have efficient. ;-)
If you're dealing with Actionscript projects that don't rely on the Flex SDK, then it should be a simple matter of creating a new Flash Pro fla and use your main .as file as the Document Class in CS5.
Otherwise, for iOS there's no loading of external swfs that contain code in them (Apple doesn't allow it). So you would want to re-compile in Flash Pro a project that doesn't rely on loading external swfs.
EDIT: Be warned though if you go down the path of creating apps that target older devices, you'll never be able to update those apps to target newer devices, using AIR. In other words, committing to an older, unsupported AIR implementation just to run on iPhone 3G, locks you into that version. You would have to release a new app under a different name in order to target newer devices. My advice, don't bother.
Message was edited by iBrent because Colin gives poor advice sometimes...
lol... personal rivalries aside guys, you both did well... cheers for your promt support.
Am I right in saying then, that investing in at least a 3gS iphone and publishing out via flash builder 4.6 to an iphone 3gS will give significant speed benefits over publishing out from flash professional cs5 to an iphone 3G?
From what you are saying it sounds like Flash builder 4.6 has been optimized to speed up flash apps converted for the 3gS and above. What kind of speed difference are we talking about over the 3g? 2-3 times?
There are too many points in your question. Either tool, Flash Builder or Flash Pro, that uses AIR 2.0, will be compatible with old devices, but not have the performance and feature advantages of the later versions of AIR. Either tool, using AIR 2.6 or later (and especially AIR 3.2) will get the better performance, but will have to give up on older devices.
Which tool you use depends on what you're doing and the style of programming you use. A character animation heavy app probably should be done in Flash Pro. Something that is almost all code could be done in Flash Builder, but could also be done in Flash Pro.
The difference in performance between AIR 2. and 3.2 isn't as much as you would think, but with 3.2 you can take an unoptimized app and make it work well enough, with AIR 2.0 you could spend weeks of effort on fine tuning it to work well enough.
About me and Brent, if you knew our statures (physical that is), you'd know that I suck small time, and he sucks big time! Seriously though, since I saw his first video post I've liked Brent, and I suspect that I amuse him too.
Awww, shucks. I like you too Colin.
Aside from getting a room, the web is the best place to share ideas and help people out. I'm happy to answer any questions I think I know an answer to. There are lots of smart people on these forums and it's fun to get to know people via the technology we love.
Regarding performance, I can only speak to what I work with, and I've given up on the older devices, no need and no demand for them. The biggest advantage of AIR 3.x is the more complete support for things like front-facing camera, StageVideo, StageWebView, and ActionScript Native Extensions, or ANE's, which allow you to create code in the native device language to extend the capabilities of AIR.
iBrent therefore iSmart
Thanks for all your really helpful comments.. very unexpected.
I know this is not strictly along the lines of the original question asked, but do Flash apps (a game in my case) have to support all orientations on all devices to get into the app store?
Also, does the new ipad 3 support downscaling in screen resolution? I understand the old ipads have a screen resolutions of 1024 x 768 whereas the new one has a screen resolutions of 2048x1536.. does this means I will have to design this game for both screen resolutions?
Many thanks for all your help so far guys,
I am pretty sure you would get away without supporting more than one orientation for an iPod or iPhone app. After all, Apple themselves don't support landscape or upside down in the main home screen. With iPad though you're supposed to support the orientations that a user might reasonably expect to work. You don't have to have two variations of your layout, if the app is clearly designed to be a landscape app, then that's fine. But, you do have to support both landscapes, or both portraits.
The new iPad will take any standard iPad app and fill the screen for you. It won't look any better or worse that it does on an old iPad, though the user may notice the difference in resolution in your app compared to other apps.
Thanks again for your prompt response,
Does that mean now that the new Retina display has arrived, that it would be better to design all my ipad apps at the higher resolution of 2048x1536, and allow the new ipad to SCALE-DOWN any graphics within the app? .. as opposed to designing my app at 1024x769 and having the ipad 3 UP-SCALE my graphics?
From my experience downscaled graphical content looks better than upscaled graphical content.. i'm trying to achieve the best quality looking app on both the iphone and ipad devices to trying to decide which resolitutions to work to considering there are a few..
You could do what you suggest, but it won't look any better unless you use the iOS 5.1 SDK when you build the app. Here's an article that might get you started with that:
This was really helpful, thanks. Youve cleared up many of my queries as regards publishing for iphone/ipad. From what you've said i've deduced the following:
1. If i'm going to write my app for ipad and iphone I have to support both of either portrait or landscape. So if the ipad version is designed in Landscape, the iphone one has to be as well.
2. Designing my app at the new 'higher' resolution on the ipad will be pointless unless i'm publishing out via IOS 5.1. So I should stick to an ipad resolution of 1024x768.
One last thing.. as regards creating an app for the ipad AND iphone.. do I need to submit two different versions to the app store (one for ipad and one for iphone) or is it adviseable to simply design one app that can be scaled down from the ipad to the iphone? .. The only reason I ask this is because I want the controls for the game on the iphone to be in slightly different position, and look a little different.. would I have to pay double to submit two versions of the app, how does apple handle the submission of apps with different layouts for both devices?
Many thanks in advance,
The iPad and iPhone versions don't have to both be landscape. Look at Scrabble as an example, the iPhone version is portrait only, and the iPad one is portrait and landscape.
Ideally you would have one version of the app, that just showed different layouts depending on the device it was on. That way someone who buys the app on their iPhone will be able to download it for iPad too.
You could go ahead prepare your graphics for 2048x1536 screens, and scale them down onto your 1024x768 stage. It won't do any real harm. Then, one day, when you happen to have iOS 5.1 SDK installed, you could do a build with that, and suddenly you would have an update for the app that did use Retina iPads.
Thanks again for this... One last thing (I hope).. i'm about to buy an ipad purely for development purposes. I've been thinking about it and would you agree that its probably better to buy an ipad 1 over an ipad 2 (i.e. the oldest one).. since I assume if i can target an ipad 1 and get my game working on the oldest ipad, I can assume it will work just as well - if not better on later versions (i.e. ipad 2 and 3)?
Basically I am asking - should I buy an ipad 1 for development or an ipad 2? or 3? .. also, if I buy an ipad 1, can I still publish out from Flash builder 4.5 to an ipad 1, or will i need an ipad 2?
Hope you can help,