DIGG IT!
23
Comments
Published
Monday, October 05, 2009
at
2:10 PM
.
Here is the source for 4 iPhone demo applications I made during the internal development of "Notus", aka iPhone export. The projects are ASProject out of Flex Builder. The first thing you will notice is that there is nothing special here, just simple AS3 apps the are cross-compiled to IPA ( iPhone ARM Binaries ). 
Ted on Twitter - @__ted__
Ted on Adobe Groups
Ted on LinkedIn
Ted on Facebook
Ted at Adobe
Sweet! Thanks for sharing this. In spite of what people may think, it is a good thing that the million+ Flash devs are now iPhone devs, thanks to Adobe. =D
Yes - that is sweet. I see an .ipa file in the Circles app. Any way i can provision this to my iphone? Tells me it's unsigned... so I'm suspecting I can't adhoc this, without the iPhone Dev subscription?
Thanks! Scott
Thanks Ted. Picaso has nothing on you. ;)
Judah
What about Flex to iPhone? Will Flex 4 support iPhone export?
Impressive! How did you have the time to write this post today? MAX is going great and smoothly so far.
Thanks for the source, it is interesting to understand how it actually happens. I have a couple of questions:
1) why very simple code like the Circles one generate such huge compiled app considering that there is no runtime or framework attached to it? (I mean 3.7 MB to draw four circles is a lot)
2) Comparing the Circles example (performing at around 3 frames per second) and CirclesGLES (at least 30 FPS and more) example code seems clear that in order to obtain a decent performance the content has to be mostly static (not regenerated/modified at runtime) and with the CacheAsSurface flag turned on, this reduce a lot the kind of applications that can be made I guess.
These samples were built about 16 builds back and much has changed. Binary size is an issue the team is working on. The swf is translated to LLVM and then grafted with the flash api implemented in native code.
Ted ;)
FingerPaint won't compile in Flex Builder - cannot find flash.events.TouchEvent. Is a specific SDK or Builder version needed?
This is going to be great, Ted. Thank you!
There are so many questions to ask about all this, but could you give some info about this...
flash.media.MediaLibrary
How's that going to work? What's that going to do when it's running in the standard flash player?
I was interested in what sort of persistent storage options a Flash iPhone app would have, but I guess that would be the same as any other iPhone app? I haven't done any standard iPhone dev, so I'm not sure what I could expect??
Excellent!
Did you get copies of the CS5 beta to compile this? Looking forward to start playing around with the touch and accelerometer events :)
Flex on Mobile (iPhone) was demoed in MAX Sneaks by Ely Greenfield.
The builder project requires a very customized SDK to compile. You must have the airglobal.swc configured and there is much work to get this all configured. Early work was done using compilation scripts but this will be automated within Flash Pro and Flash Builder Pro products.
We used the SDK to get compilation working but ipa export will not be in the SDK when shipping and will be within Flash Pro and Flash Builder( not sure on timeline).
That is all I know! :)
Ted :)
flash.media.MediaLibrary allows you to write an BitmapData object into the iPhone Photos app. So you can generate images in you app and push them into Photos on device.
Ted :)
The goal was for all API's to map to AIR 2.0 or Flash 10.1 APIS. flash.events.TouchEvent was added in both as a native API event type for multi-touch support.
Ted :)
Hi Ted! Thanks for posting this code. I've got a question about something going on in the FlashWrap application. In the touchBegin function, you're using square bracket notation to turn the touchBegin function into an object and then add properties onto it.
What's going on there? Is this something specific to iPhone dev, or is this some secret ActionScript mojo I am ignorant of?
Here's the code in question (from FlashWrap.as):
public function touchBegin( event:TouchEvent ):void
{ this.touchBegin[ event.touchPointID ] = {}; this.touchBegin[ event.touchPointID ].x = event.stageX; this.touchBegin[ event.touchPointID ].x = event.stageY;
this.hit( event.stageX , event.stageY );
}
a Function is an Object so you can put stuff into it just like normal objects. It is ECMA standard but not widely used. The only advantage is that it save 1 Object in your app. This works with all AS3 code.
Ted :)
Where can I download the SDK for this ? :-)
I am waiting for this mobile I am very fond of new phones I loved to use this multimedia and high definition phone these are the My favorite gadgets.They give you very nice performance with sound as well as picture quality and other multimedia
Hi Thanks for this.
Bu can you provide me the links of cs5 availbale or not?
Hi,
can you tell me from where i can get that .p12 certificate and provisioning profile?
Thank in advance.
I don't have time to find the link now, still catching up on all the MAX news, but it's my understanding that the plan is that there will be 64-bit versions of the Flash Player for Windows, Mac and Linux when Flash Player 11 is released. However, obviously there might be a alpha/beta available before that.
I was interested in what sort of persistent storage options a Flash iPhone app would have, but I guess that would be the same as any other iPhone app? I haven't done any standard iPhone dev, so I'm not sure what I could expect??