Apple 4.0 and Titanium

3D architecture abstract

By now, most of you have probably seen or heard about Apple iPhone SDK 4.0 and a little hidden gem in their freshly minted 4.0 Terms of Services, notably 3.3.1:

“Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.”

It’s clear that products like Titanium, Unity3D, Ansca, MonoTouch and others are now a bit in question for iPhone 4.0+ with this language. We’re all trying to get our heads around what this means and trying to reach out to Apple to get clarification.

Hang tight, we’ll try and give you more information as we can figure it out from Apple. We don’t want to make any false promises or claims – and most importantly, we want to make sure we’re abiding by Apple’s rules.

[NOTE: I have posted an update here]


  1. Are app bundles produced by titanium distinguishable from those produced natively through the iPhone SDK?

    I’m also wondering if they are specifically targeting adobe when doing this, or if it is a blanket attempt to tie iPhone OS development to their platforms.

  2. Can’t Steve Jobs and Adobe’s CEO just kiss and make up? This is really hurting innovation. Sure, Adobe stuck it to Apple a few years ago by making Photoshop run better, faster under Windows. But, Apple should let it go, by now.

    I’d hate to loose Titanium as well. I’ve been extremely impressed with the platform, toolset and level of support this small company has provided. I started looking through the source code tree on GitHub and am even more impressed. There’s a robust amount of very good technology here and it would be horrible if it all went toward just making Mobile Windows and Android apps.

    For the Titanium team – good news – or bad – please keep your fans posted.

    Also, if you can share more information about your technology, that’d be helpful. From what I could tell it looked like you were parsing our Javascript and creating native Objective-C all over. Is there still a translation engine running ECMA Javascript inside every app we build? Enlighten us, please.

  3. I’ve installed the 4.0 is and the titanium beta app I had been working on that was working fine on 3.2 is no longer working. This could be just because of the way titanium builds apps or perhaps apple have a way of checking and have blocksd non objective-c apps?

    Really hoping that appcelerator find a way to continue!!!!

  4. got my fingers crossed for appcelerator as well. really hoping this is just for the fact they’re trying to ensure that compiled code for the beta is in native c and not a change forever.

  5. Well, if Apple does ban Titanium, at least Mobile TutsPlus is coming soon, so we should get a few good Objective-C tutorials and building apps for the iPhone.

  6. […] Non è ancora chiaro quali strumenti verranno bloccati, ma alcuni developer, tra cui i ragazzi di Appcelerator, si domandano cosa accadrà a Titanium, Ansca e addirittura Unity3D. Feature, […]

  7. […] Non è ancora chiaro quali strumenti verranno bloccati, ma alcuni developer, tra cui i ragazzi di Appcelerator, si domandano cosa accadrà a Titanium, Ansca e addirittura Unity3D. Feature, […]

  8. You know, as an experienced web, Windows, and mobile developer, I am constantly disappointed how Apple chooses to run their business. I am beginning to very much regret the time and money I’ve invested in becoming an Apple iPhone developer.

    I think it’s getting time to go back to my blackberry, or better yet get me a new android device. Apple products make my life tougher lately, and I’m just not that into them after hearing this.

  9. It’s embarrassing how the developers have to adopt such a servile tone even as Apple (maybe) royally screws them. Enjoy being serfs, everyone! This is the future Apple has in mind for you.

  10. […] Flash, the new rule may also be used to block cross-platform app maker software such as Appcelerator’s Titanium or Unity 3D. As always with Apple’s app review process, we won’t know what’s […]

  11. Please, please, say it ain’t so!

    Praying that we (honest developers of great apps who have PAID Apple our dev money – AND who plan to make money FOR Apple with some paid apps and iAds) don’t get shafted by them.

    Thanks to frameworks and tools like Titanium, where are now a LOT more able developers for their devices out there!

    If this is indeed a bullet to the heart of Appcelerator, I think we need to find a way to kick up ONE HELL of a fuss about this!

    This move is clearly aimed at Adobe and the forthcoming CS5 ability to export to iPhone apps.

  12. […] for the iPhone and other devices, such as Appcelerator’s Titanium, may be affected too, and Appcelerator says it’s still trying to figure out what this means. I asked Adobe to comment, and the company […]

  13. It’d be a hard pill to swallow if the follow through of slapping Adobe hits you guys in the face. Will be waiting eagerly for updates…

  14. If Apple did indeed kick us all in the balls, then I think Adobe should add a retroactive clause to their software agreements banning Apple employees or agents from using any of their products.

    I’d like to see how fancy they make their design without Adobe products!!

  15. This seems like anti-competitive behaviour. This action should be referred to the FTC Bureau of Competition.

  16. No, that’s the old statement. The new one does everything but say the names of the apps it’s banning.

    3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

  17. Would Titanium go away if Apple gave you the finger? There will very soon be much more Android devices than ‘i’ things globally.

  18. While the whole thing is terrible, this part is extremely weird to me: “or JavaScript as executed by the iPhone OS WebKit engine”

    Do they want us to be writing super simple apps that are merely web views disguised as apps?

    I thought they discouraged such simple apps, and appcelerator was a tool for building more complex apps. I just don’t get that at all.

  19. That sucks.

    I suppose there are workarounds for “linking through an intermediate layer” (replace the translation layer with macros that insert the appropriate Apple calls directly), but I can’t see any legal way around “applications must be originally written in Objective-C”.

    I’m pretty sure it is possible to write translators that would be almost impossible for Apple to detect, but as nearly as I can tell from the terms this would force them “underground”, akin to jailbreaking.

    Still crossing fingers, but it doesn’t look good.

  20. The fact that building an iPhone app using Titanium does actually create an .xcodeproj file which then gets compiled with xcode itself (via command line) might be it’s saving grace.

    The libTicore.a and libTitanium.a files should be fine under this new agreement – I think.

    ie: I can open the .xcodeproj file in XCode and attempt to build it from there. But it doesn’t seem to work right now… hopefully, if the announcement does indeed mean we’re screwed, then this *could* be the way around it.

  21. Assuming the new verbiage is what people are dreading it might be.. This would be a terrible way to show appreciation to a market of developers dedicated to supplying apple with quality applications to it’s market.

  22. How is this different to using a game engine? Apple wants to be a gaming platform now and these changes will hit 90% of game engines.

    Apple are in danger of alienating their developers with these games. They need to understand that oneupmanship on adobe affects developers time and money.

  23. @kosso: If it comes down to it, Titanium could just produce Obj. C code transformed from the HTML/JS code. That code can then be compiled via XCode without any concerns.

  24. Why would apple want to cut off Adobe’s cross-compiler, its no longer about Flash – I suspect this is more about trying to keep the lead in the Appstore arms race.

    Being able to compile your app for Android and multiple other platforms from a single code base clearly makes competing Appstores more competitive.

    I hope I’m wrong but I suspect every app being available everywhere is a far more significant long term threat to Apple than Flash.

  25. I called up Apple to ask for details about how this affects Appcelerator & Unity3d as particular examples that I’d been planning to use for games and utilities, and whether I can get a refund for my program fees if I were to not accept the updated agreement.

    The rep was very pleasant and polite and took my information to escalate the question; the CSRs of course don’t have immediate answers for this. I was told someone should get back to me within 24 hours.

    If y’all also call, please above all *be polite* — customer service reps are real people too, and they didn’t write the agreement! Be polite, accept being on hold gracefully, let them know how this would affect your future development plans, and be specific about what questions you’re asking and what answers you need.

  26. I’m hoping this is only targeting the ‘roll your own’ via-the-web type app creation ‘services’ – which roll apps all under a single iPhone Developer registration – ie: not for an individual.

    Since we have all paid Apple for our dev membership, I don’t see why they should do this to us.

    @rupak : if it has to happen that way, then I’m sure it can be done!! I hope! 🙂

  27. A strict reading of the clause should put titaniium in the clear.

    3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

    A Titanium app consists of Objective-C code that links direly against the APIs, and Javascript code that presumably is being executed by the iPhone OS Webkit engine. That satisfies the text of the non-parenthetical portion of the clause.

  28. Personally, I don’t know anyone who has got Titanium working. The installation process is terrible, and beyond poorly documented.

  29. @John Let me introduce myself so that you do know someone who has Titanium working! The installation was faultless and has been through the 3 updates I have tried.

  30. I originally come from the PC world. If Microsoft was pulling this kind of sh.t there would be crys so loud the courts in the U.S. and of the EU would be demanding why Microsoft should not be forced to stop their meddling in fair trade.

    So why do Apple developers just roll over when the same thing happens to them ? This is a clear case where Apple is inhibiting fair trade to produce products that run on their platform. They can shut out porn, dump do-nothing apps, but why is it permitted to force developers to not use tools that permit them to produce a product for the marketplace ?

    Wake up people. Apple isn’t God, they are a MS like corporation trying to hogtie us the developers, for one reason, because they hate Adobe and want to kill CS5’s ability to deliver Flash to the iPhone/iPad. And you and I will suffer in the markeplace.

    Its time to react. Class action is becoming an appropriate approach in dealing with this.

  31. Wow, I guess this means that to survive this Titanium has to make ObjC code for every function/type of javascript. This can be done, but the generated code could be identified as being generated…
    But then, how can they proof it’s generated by a tool, questions…

  32. titanium has been excellent so far. it’d be a real shame to see it’s iphone/ipad components lost to anti-competitive practice.

  33. @John – Hundreds have people have got it working! I myself have made and released two applications! I had no mobile experience when i started! Try asking around on the forums for help?

    @Brion Vibbor – Thanks for sharing that! 🙂 Ill certainly call them up tomorrow and see if they can enlighten me aswell!

  34. How long do you think it will be until Apple bans the use of Admob ads in iPhone/iPad apps and force the use of the iAd platform?

    Since the the announcement about third-party dev toolsets and frameworks, I think this could actually happen – since they (Apple) make no money from those ads.

  35. This raises huge anti-competitive concerns. Under this rule, it would be impossible to develop a framework allowing apps to be run on the iPhone and the Nexus One. I really, really hope the FTC looks into this.

  36. As Brion Vibber mentioned he called apple support and they were very polite. So I decided to give them a call too. Although i was not able to get the call escalated to some with the appropriate knowledge they were very polite and documented the call so some with with the proper knowledge would get back to me ASAP.

    They said they are willing to give me a refund on my developer licence, but Ill keep that option on hold until I get a definitive answer.

    It might be worth calling and getting your two cents in with Apple that this isn’t fair and we will all be asking for a refund on our developer licence if they are not going to allow us to deploy titanium apps.

  37. Whilst I share the collective sigh at this latest bullshit, remember that Nokia and RIM are still way ahead of Apple in market share and Titanium is coming to BlackBerry.
    2009 Smartphone Market
    1. Symbian (mostly Nokia) .80 million 46%
    2. RIM (Blackberry) …….37 million 20%
    3. Apple (iPhone)……….25 million 15%
    4. Windows Mobile……… 11 million 6%
    5. Google Android……….7 million 4%

    Stats thanks to @tomiahonen

  38. Why not expose all Apple APIs to the Webkit engine? This would not violate ‘… or JavaScript as executed by the iPhone OS WebKit engine, ….’?!

  39. […] from the PhoneGap Twitter account suggests they’re not worried. The folks at Appcelerator realize, though, that they might be out of bounds with Titanium. Ansca’s Corona SDK, which lets you write iPhone apps using Lua, strikes me as […]

  40. This is an example of what i dislike about Apple, lately. Ridiculously restricted environment. This is not unlike forbidding you to patch run your car radio through an outboard equaliser.

  41. While I’m not happy to see that Titanium may be in jeopardy, I am sorry I bit the bullet and decided to go the XCode route when the initial Titanium pricing was announced. It meant a lot more pain initially, but at least I know my app is safe.

    I really wish Apple would lighten up a bit. They are controlling to a fault.

  42. I can empathize to an extent with a lot of the comments, and I sincerely am not trying to sound like a smart ass. I’m a little bummed out when I’ve spent a lot of time with a technology only to find I might have to shift gears.

    But if you want to create as efficient and stable an application as possible, why not learn Objective-C, as opposed to relying on cross-compiling and shortcuts? It’s not that hard, and having more tools in the toolbox makes you a better developer.

    I don’t know, when I hear people lamenting Apple so much, I kind of want to say: name a mobile platform that does allow for multiple paths to native apps. If there is one, is it as/more stable that iPhone OS, does it offer the same level of UX, does it have the same reach, brand and revenue potential? If you honestly think the answer is yes…then why not move to that platform and stop complaining? No one’s forcing you to develop for iPhone OS.

    Let the zealous, flame wars commence. Or continue. The developers I’ve known and respected over the years have looked at a platform, and if they wanted to be on it, they looked at the best tool for the job and learned it.

  43. There are lot of innovative startups that are either bootstrapping or starting off with a shoe string budget. For them products like Titanium are an important tool in a fragmented mobile market place. They can build native apps for three important mobile markets (counting Blackberry) and a web application with one small programming talent pool. So from that point the ‘learn xcode’ is too simple minded.

    Apple (or should I just say Jobs) keeps shooting itself in the foot! Just like with Mac it innovates and then become a niche player. In the case of iPhone first Android and soon others will catch up. Just the sheer number of applications in the app store is stupid statistic. The question is will popular and successful applications on iPhone have an incentive to go after other phone markets? Yes they will. Why would they not go after millions of customers on other phones, specially when they have a proven product and some money in their pockets.

    Titanium has been frustrating at times but overall I must say it has been great. Keep up the good work.

    Apart from calling Apple what else can we do collectively? Any other ideas?

  44. […] raken ook andere compilatietools en -diensten, zoals die van de Nederlandse startup Steape en van Appcelerator. Ceo Jeff Haynie van laatstgenoemde probeert zijn klanten gerust te stellen met de mededeling dat […]

  45. @Gregir & the Objective-C sympathisers. I get where you’re coming from, but for me, the whole point of using Titanium is so that I can develop an app for the iPhone *AND* Android without learning 2 new languages+SDKs.

    People seem to overlook this & only release their apps for the iPhone. Android might not have the same market share, but the share they do have is growing massively.

    Titanium saves so much time for us that we’ll continue to use it as long as it’s accepted by the app stores.

    Keep up the good work Jeff & co!

  46. It is fine to restrict your end-users from doing certain things which might negatively effect the user experience. But restricting the devlopers which provide the base for the iPhone’s success is a big, big mistake. I for my self will stop developing for iPhone today and will not get back until Apple has committed to change this new policy.

  47. This is absolute absurdity. My guess is that this is to primarily attempts at blocking Adobe, and their Flash CS5 iPhone exporter.

    Why not make titanium generate Objective-C code which the end user can then compile themselves. Apple doesn’t say that the code can’t be generated. However, if they get wind of this, there will probably be a new section in the agreement. hah!

  48. at comment #1

    I own a Nokia Symbian phone heck I live int the country where mobile phones populate 3x the population. It’s Finland the county where Nokia started with making rubber boots and tires. Nowadays named nokian and not a part of Nokia.

    But the Symbian phones sux big time. And if we count smartphone marketshare Apple is nr 1.

    My wife has an iPhone and so would I if i didnt’ have an company phone.

  49. […] and tools working at higher abstraction levels are out. This covers Scheme, Unity3D, Titanium, MonoTouch and many others. The ban also (unsurprisingly) covers Adobe’s upcoming Flash […]

  50. […] Apple 4.0 and Titanium « Appcelerator Developer Center […]

Comments are closed.