Apple Says OK to Third Party iOS Dev Tools

| News

Apple changed its stance on third party developer tools for iPhone, iPad and iPod touch apps Thursday morning with some changes to its Developer Program license agreement. The previous license rules prohibited developers from using coding tools such as the Adobe Flash CS5 to iPhone cross-compiler.

“Based on [developer] input, today we are making some important changes to our iOS Developer Program license in sections 3.3.1, 3.3.2 and 3.3.9 to relax some restrictions we put in place earlier this year,” Apple said in a statement. “In particular, we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.”

Apple isn’t detailing which developer tools it will allow, but the company’s statement seems open enough to allow coders to use nearly any development environment they want. If so, the change will come as welcome news to Adobe, although it will mark a complete reversal in Apple’s stance on developer tools that can cross-compile apps for multiple platforms.

Apple and Adobe publicly locked horns over the strict limitations on iOS developer tools. Apple CEO Steve Jobs said allowing apps originally coded in Flash on the iPhone would dilute the platform because developers would write apps that take advantage of features in only the least capable devices they were targeting. He also released an open letter to Adobe calling Flash a closed and proprietary system with major security flaws.

Adobe’s John Warnock and Chuck Genschke fired back with their own open letter saying consumers and developers should be able to choose which platforms they use and support instead of being told by Apple what their options are. “We believe that Apple, by taking the opposite approach, has taken a step that could undermine this next chapter of the web,” they said.

Along with its less restrictive developer license, Apple also published the guidelines it uses for App Store approval. “We hope it will make us more transparent and help our developers create even more successful apps for the App Store,” the company said.

Popular TMO Stories


Bosco (Brad Hutchings)

So here’s a question for those (most of you) who were supportive of the old policy… Are you worried about the quality of apps that will start showing up now?

Also, we need to celebrate this occasion with an award for biggest tool in this spectacle. It would be easy to pick Steve Jobs, except he’s not a tool. So, no surprise, the award goes to Jon Gruber, who is currently roughly drafting an essay on why he was really uncomfortable with the old policy and thinks Apple has now arrived at a sensible compromise.


So the possibility that Apple is now happy enough with the robustness of their OS that they feel like they can loosen control a bit and still provide the end user the same experience couldn’t possibly be the reason could it. I’m glad they care enough about their customers to go to unpopular lengths to provide a great end-user experience.

Remember, if an App doesn’t work or performs poorly the vast majority of customers don’t blame development tools; they think something is wrong with their iDevice.

Did Steve steal your lunch money or something?

Lee Dronick

“as long as the resulting apps do not download any code”

What does that mean in regards to Flash?

Bosco (Brad Hutchings)

@Sir Harry: It means that all sorts of apps written with CS5 are coming to iOS. You can bet your sweet arse that Wired (for example) will be canning its Frankenstein iOS publishing kludge (that they and Adobe spent millions on) and go right back to Flash. I want to know if that scares you.

@Flip: This is basically like if the Nazis had a press release about how they aren’t going to be gassing Jews anymore, and accompanied it with guidelines for who they will gas. Much more transparent, of course, but don’t you think there should be some accountability for having had such a brain dead anti-intellectual policy in the first place?


Gassing Jews? Wow. You’re really going to compare a software policy to gassing Jews.


Yes. Gassing Jews. And he’s right. But hey, the Gestapple is still not adopting the open-oven policies of Android, so expect a lot more where that came from.

Bosco (Brad Hutchings)

No Tiger. I’m comparing how [censored] ridiculous and offensive the policy was. And how [censored] ridiculous it is that all of you (yes that includes you Tiger) who were just jubilant about banning Flash and anything else that wasn’t the proscribed C-variant are going to be just as jubilant about Apple finding a “sensible compromise”.

Really, you should all start by owning this. You were worked into a frenzy by Steve Jobs over a non-issue, and you cost a lot of people a lot of money and time and anguish. You were wrong to do so, and you ought to be more careful about buying into his lies the next time. Because with Steve Jobs, there is always a next time.


I’m sorry, what lies? 

The concerns over third party development environments were legitimate. They still are. It’s not about the apps, it never was. It isn’t about there being shit-quality apps available for iOS, it’s about a subset of developers only being able to produce shit-quality apps because they’re developing in an environment produced by a company with a history of not being able to update their products in a timely fashion.

Banning Flash from the iPhone? That’s a laugh! There’s nothing to ban. Or is that a lie? Adobe isn’t smart enough to jailbreak an iPhone and install a super-efficient version of Flash and post the resulting FU video on YouTube, is that it? The only frenzy I saw was Adobe, outraged that Apple said they weren’t going to be allowing a non-existant version of Flash on their mobile phone.

How thoughtless of Steve Jobs and Apple. Providing a lot of people with an opportunity to sell apps by creating an untapped market of a couple hundred million people and then making rules about how that market could be accessed. How OFFENSIVE!

Bosco (Brad Hutchings)

@jfbiii: You obviously don’t know about Adobe AIR and CS5? Or about the millions of dollars Adobe and Conde Nast spent to convert the publishing platform used first for Wired (and then expected to be used for other magazines) to something that met Apple’s restrictive guidelines.

I can see why it was so easy for Steve to whip you guys up. You didn’t know what he was talking about. Hilarious.

Lee Dronick

Getting back to my question ?as long as the resulting apps do not download any code.?

Does Flash, say on OSX or Windows, download code?


Worked into a frenzy? Y

You seem to be the one that is ecstatic. You’ve railed against them for months now, so I guess it’s your time to gloat. The reality is, if they’d kept the policy the way it was, you’d be deriding Apple and SJ forever. And now that they’ve changed, you can sit there all giddy and censoring yourself.

Me, I read the news, gave it a half-smile, and figured it might make some people happy, including you. Dwelling on the negative is bad for the soul. ou assume to know way too much about, me and it seems everything. You know nothing about me, except that I am no fan of Flash. Jubilant? Where do you come up with such hyperbole.

Bosco (Brad Hutchings)

Flash AIR apps do not (generally) download any code. Example that have been or may still be in the App Store: Fruit Smash Organic and South Park Avatar Creator. If they are there, download and try them, as I’ve suggested for months. Great apps.

Depending on how Adobe responds and the timetable when they respond, you’ll see a lot of Flash/AIR based apps his the App Store. Why? Because they are far more economical to build. And they’ll be much higher quality because developers won’t have to fiddle around with basic stuff and won’t get it wrong.

See Tiger, same line I’ve been talking all year. But now since Apple changed their policy, you are free to agree with me. I’d be more flattered if you’d caved to my superior logic, but I guess I have to take blind allegiance when I can get it.


open-oven policies of Android

ooo - that’s grim. good one.

Nazis gassing Jews Bosco, really? You need to relax. It’s a phone OS for god’s sake.


Yeah, funny how Adobe had all that time and money to devote to AIR and a Flash conversion tool and so little to devote to making Flash run right on a desktop system much less a mobile one. I guess Steve could have done that just to be a dick. Couldn’t have happened to a more deserving bunch. You’d think before they chose to spend all that time and development money that they would have thought to pre-clear it. Or maybe they did, and got a negative response, and then decided to spend the money anyway and pretend to be outraged. That’s just speculation on my part, but it wouldn’t surprise me.

I hope you’re right in regards to apps being higher quality, but I don’t expect it. Not having to fiddle with basic stuff is exactly what leads to the mentality where any crappy UI will do.

So…where were the lies, again? I guess I missed that part.

Bosco (Brad Hutchings)

I hope you?re right in regards to apps being higher quality, but I don?t expect it. Not having to fiddle with basic stuff is exactly what leads to the mentality where any crappy UI will do.

This reminds me of when politicians talk about how to fix the economy. Obviously no training in software engineering behind your comments. No surprise you miss the lies if you have no point of reference for truth.


I for one, am concerned about the quality of apps that will be produced now that the bar is lowered. Not that Flash developers can’t develop quality apps, but I’m afraid that the bar has been lowered enough that amateurs will be dumping vast amounts of crap into the mix.

The same thing happened with Word and PowerPoint. People with no training or skill began “designing” ads and brochures using tools that were “good enough”. They looked unprofessional, were difficult to read, and reflected poorly on the companies that they represented. This, because the bar was lowered for amateurs to start designing. I am not trying to say that it is good or bad, per se, just that lowering the bar usually results in a larger volume of lower quality work.

John Molloy

Hmmm. Bosco. Apple still have to approve the apps. So don’t think it will make much difference tbh. But here’s the thing. After 3 years of curating the store Apple have built in a lot of expectations as to what an App is so good luck with releasing an App that doesn’t “feel” right.

So not going to make much difference. Save to shut up the moaning minnies who thought this was a problem.

Oh Bosco - when you get your stuff out - let us know how well it is selling.


I thought that I would read the new sections of the license and then comment.  Section 3.3.9 is even simpler that its predecessor but still preserves and protects user’s privacy to same degree.  Collection of data about a user’s still requires the user’s consent for each application.  There does not appear to be any lessening of the protection of users’ privacy.

Regarding new sections 3.3.1 and 3.3.2, which must be read in pari materia, together the two sections still appear, as a practical matter, to prohibit running Flash on iOS devices, unless, perhaps, a developer packages the entire Flash runtime in his application, which, as a practical matter, is impossible.  However, because Section 3.3.2 is a little ambiguous, I am not sure.  But since Flash isn’t supported in iOS and since an application can’t call or download it under the new 3.3.2, it appears that Flash and, as a practical matter, apps that run Flash are a no go on iOS.

New Section 3.3.1 and 3.3.2 do appear to let developers compile code to run against Apple’s public API using whatever tools they want to use, provided, as I discussed, supra, that the app does not download or install executable code; and interpreted code is only be used in an application if all scripts, code and interpreters are packaged in the Application and not downloaded.  “The only exception to the foregoing is scripts and code downloaded and run by Apple?s built-in WebKit framework, [New Section 3.3.2]” which will pretty much drive development toward Javascript, CSS, HTML5, the Touch Cocoa Framework, and the C languages permitted under old 3.3.1, if a developer wants to practically use interpreted code in his app.

This is how I read the changes to Apple’s iOS Developer Program license.  However, I am not in this post offering any legal advice or counsel or opinion as to the meaning or legal effect of the new changes to Apple’s iOS Developer’s license, and, because the revised iOS Developer’s license is new, I would advise any developer to either develop using the tools prescribed in old 3.3.1 or take legal counsel on the use of particularly interpreted code in iOS apps.

Bosco (Brad Hutchings)

Regarding new sections 3.3.1 and 3.3.2, which must be read in pari materia, together the two sections still appear, as a practical matter, to prohibit running Flash on iOS devices, unless, perhaps, a developer packages the entire Flash runtime in his application, which, as a practical matter, is impossible.

Apply your lawyerly specificity to defining “Flash”. Then you will be on the right track. And you’ll understand why 1 million Flash developers could be set loose on the App Store. You’ll also understand why this change probably came from the publishing community rather than run of the mill app developers grin.


“After 3 years of curating the store Apple have built in a lot of expectations as to what an App is so good luck with releasing an App that doesn?t ?feel? right.”

That’s the part that makes no sense. It’s only been 4 months since the sdk was released with that limitation. The code and dev tools have not changed enough nor app experience to be markedly different than 4 months back. If they did it in another year or so that might fly as a meaningful argument. As it stands now it’s just trying to shore up the crumbling argument that Steve Jobs presented very publicly. The cross compilers they are allowing today are the same and the cross compilers they banned 4 months back. It’s very similar to the book 1984. Where as a citizen of one of the 3 super powers you had 1 enemy and 1 ally. As soon as it was annonced that those had swapped the citizens forget that their new enemy was their ally 2 minutes earlier. It’s impressive that Apple wields that power AND scary that so many abdicate all personal thought on this subject.

I guess he doesn’t feel like “protecting” his users from the evil cross compilers as he did 4 months back.

Unless Apple continues to sniff the bytecode and block cross-compiled apps for “other reasons” I suspect we will see a lot of these apps coming to the app store. They will be cheaper to write and not demand dedicated coders and hardware to service 1 platform. Some companies who use objC now will probably migrate off it to a tool chain that allows multiple output - thus dropping cost by dumping redundant coders and expanding income by adding other platform users as paying customers.


Flash is comprehended in new Section 3.3.2 as the executable code needed for a Flash app to run.  New Section 3.3.2 appears to prohibit downloading or installing the executable code needed for Flash to run on the iOS, unless it is packages entirely in the app and perhaps, not even then.

Bosco (Brad Hutchings)

Try again Nemo. As per 3.3.x before this change, Flash in the browser as most here think they understand “Flash” was never the issue. It’s still not in the browser. Flash/AIR is the issue. Read up on that, then offer your considered lawyerly opinion on whether that’s allowed by the good child protectors at the glorious, *magical* Apple.


I may have missed some lies, Brad. I haven’t read all of your posts on every topic.


Well, without thinking about it too deeply, Flash and AIR are instances of executable code that may not be downloaded into iOS.  New Section 3.3.2 expressly prohibits the either the downloading or installing of executable code, which, I think, must mean no AIR or Flash executable code in iOS, unless it is entirely packaged in the app, which, of course, isn’t practical and may not even be permitted.  The only exception are scripts and code downloaded and run by Apple?s built-in WebKit framework, which does not include either Flash or AIR.

Bosco (Brad Hutchings)

Nemo, AIR applications are stand-alone packages of compiled code. They can optionally get content from the web and execute it. But they don’t have to. If the App Store still has them, please see Fruit Smash Organic and South Park Avatar Creator.

And yes, packaging Flash as an app is practical. Adobe shipped a product that does it in CS5. Imagine that.


“But since Flash isn?t supported in iOS and since an application can?t call or download it under the new 3.3.2, it appears that Flash and, as a practical matter, apps that run Flash are a no go on iOS.”

Nemo, the Flash iPhone Packager takes a Flash application via AIR and converts the bytecode to native iOS app bytecode. So yes you are basically taking the application and mapping the logic at an extremely low level to execute on the iDevice. Is it “Flash” as we know it? Not really-it’s been cross compiled into a native app. The Flash runtime has really ceased to exist and is now raw bytecode with mappings to iOS api’s etc. The Flash Player is not buried in the app file - it’s been rewritten as part of a self contained executable (so it’s not interpreted execution). That is what Apple has completely reversed itself on - using 3rd party tool chains and cross compiling to the native bytecode of iOS apps.

What this does do is allow all the Flash developers to start reworking their Flash/AIR apps for iOS and submit to the store. Some things we do in the Flash world are a no no on the iOS so we’ll need to modify stuff as needed.

So your right that Flash Player is not allowed but Bosco is correct that Flash developers (along with any lua, corona, elips etc) can build an app and cross compile to android and iOS for submission to review.

What this fiasco has gained Apple over the past 4 months is beyond me. Probably the board just letting SJ’s do his ego thing and then reigned him in when the FCC came calling and Android gained momentum.


Since AIR is a stand-alone package of executable code, which is not itself an app, it appears to be expressly prohibited by new Section 3.3.2.  And if putting a full runtime for Flash in each of your applications, if that is permitted, is practical, I suppose that we will see it, but I doubt it.

As for mapping to native iOS app bytecode that appears to be permitted, but Flash, as we know it, isn’t permitted and won’t run on the iOS.

As for what Apple has gained, especially given what appears to be the effect of the new language, is pretty much what it set out to do:  Create an environment where development is heavily biased in favor of native tools and against cross compilers.  Or to put it differently, those, who use cross compilers to develop their apps, will be at a disadvantage in terms of the capability and quality of apps compared to those who master and use native tools.

Bosco (Brad Hutchings)

Nemo, to paraphrase the Barenaked Ladies, “It’s all been done. Woo hoo hoo”.

You can read about the process in an April post by the guy who wrote Fruit Smash Organic.

Oh, here… You can still buy it for $2.99. Funny, even back in the day when Apple claimed to have “standards” to protect its fragile users from non-natively coded code, Apple didn’t always enforce them. Feel safer now?

And speaking of “do you feel safer now?”... It appears that AIR for iPhone is a version behind other platforms at this point because Apple gave Adobe “guidance” that such apps would no longer be accepted and Adobe decided to save its money and move on. Do you feel safer that in the meantime, while Adobe decides whether to officially support iOS again and then revs its iOS runtime and tools, developers will be using an older version of the tool to create apps for iOS? Is this another instance in a long story of Adobe not asking “how high” when Apple says “jump”? Curious…


“As for mapping to native iOS app bytecode that appears to be permitted, but Flash, as we know it, isn?t permitted and won?t run on the iOS.”

Nemo-no one is saying Flash Player will be on the iOS. The Flash IDE allows you to take your app, wrap it in AIR (this happens as AIR is a standalone runtime vs Flash Player being a web based runtime) which acts as the execution layer. Then the packager takes the .air file and   compiles that all down to native iOS bytecode .app. All the typical AIR calls and API’s get mapped to the iOS ones that match.

Your locking on “Flash not allowed” fight and missing the fact that we are over here talking about something different-tool chain development processes.

As for that not happening I guess it depends if Flash developers see the ability to make money off iOS users. If so they’ll spit the apps out like mosquitoes in summer. To me iOS customer base has profit potential as long as I can use my tool chain like:


Bosco:  A few apps that may use package Flash doesn’t prove much.  Let’s see if that is practical for a large number of apps that will run well on the iOS.  And remember, if an apps doesn’t run well—no crashing, excessive use of iOS device resources, etc.—Apple can and, I think, will reject an app on that basis alone.  In other word, if an app that packages a full Flash runtime runs about about as well as Flash 10.1 runs on Froyo, it will most likely be rejected from the App Store.

Ethan don’t put up a straw man and then say that I am defending it.  I entered this discussion by saying that new Sections 3.3.1 and 3.3.2 appeared to let developers use whatever tools that they wanted to use to develop native code.  It helps to advance the argument, if you address my points instead of making them up and refuting what you’ve made up.  See my first post.

As for mosquitoes, if you apps don’t violate new Section 3.3.2 and conform to Apple new guidelines for reviewing apps, particularly the requirement that, in sole discretion of Apple’s New Review Board, your apps runs well enough, Apple will let them into the App Store; otherwise your apps will get caught in the mosquito netting that screens non-conforming apps.

Bosco (Brad Hutchings)

Nemo: Come join me at Ted’s new article. I’m going to address your last paragraph there because Ted makes an astoundingly insightful point about the intro letter.


Only reason I responded was because of your “but Flash, as we know it, isn?t permitted and won?t run on the iOS.?  Not sure why you said that as I was speaking about tooling for cross compiling. No one was saying Flash Player would be on the iOS. yet you throw that out there as a response to ... I don’t know what.

Stop making a fight where there is none to push your agenda.


Wow. Godwin’ed in 5 posts. A new record.


Nemo, AIR apps on iPhone don’t download and execute flash code.


If the tools are not allowed to download external code, then it’s not like Flash will be running apps on the iPhone, right? I hope not, because I stereotype Flash developers as people who just can’t figure out an actual language.


“If the tools are not allowed to download external code”

MacKeeper_fan_Mod, it’s the final app that runs on your iPhone that can not download external code at runtime. The app itself is generated from classes that Flash Developers built and then sent through the cross compiler to make the iOS bytecode. So you will be dealing with “Flash Developers” end product-the logic structure that runs in the app. It’s just in the native format that Apple demands vs the swf format.

Your stereotype is just that - a stereotype and not the truth. Plenty of competent Flash programmers also know languages like Java, C#, objC, and C (many have backgrounds in those languages). They just choose to use Actionscript (object oriented, strongly typed) and the swf file format to solve a given problem. I’m sure we can find bad coders in Java, Javascript, C#, objC, and C or whatever “actual” (chuckle) language you are talking about.


I’m still trying to get over Bosco making such a comparison on Rosh Hashanah.

Log in to comment (TMO, Twitter or Facebook) or Register for a TMO account