Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are C/C++/ObjC/Swift/JS Apple's only allowed languages for iPhone development?

According to this post on Daring Fireball a new iPhone SDK Agreement release in conjunction with the iPhone OS 4.0 announcement today specifically bans any iPhone application not implemented in C, C++ Objective-C or JavaScript. The clear impact here is to the wide array of programs written in languages other than those.

Is that your reading of the clause in the new agreement as well?

Update: Here is the clause as printed on Daring Fireball:

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).

like image 980
fbrereto Avatar asked Apr 08 '10 20:04

fbrereto


2 Answers

This has been causing friction between apple and developers since they first opened up cocoa touch.

There was the Commodore 64 issue: http://gizmodo.com/5354422/commodore-64-iphone-app-approved-removed

The c-64 emulator allowed access to the basic CLI and was removed by apple.

There was also a lot of discussion on the Lua list: http://lua-users.org/lists/lua-l/2009-10/msg00015.html

Lua can be built on the iPhone arm processor from the c source so is this considered c or Lua?

Some applications using Lua have been accepted: http://tuomaspelkonen.com/2010/03/why-lua-truly-rocks/

Unity uses scripting languages as a part of its API and many Unity games have been accepted: http://unity3d.com/gallery/game-list/

...including Zombieville which "was recognized in Apple's iTunes Rewind 2009 as one of the top-selling games of the year".

I can't see them removing all of these games at this point.

What people have been most frustrated with is that there does not seem to be a single standard for what is accepted and what is not. Do big players like Adobe and Unity get special privileges to use scripting which smaller groups do not?

like image 80
Nick Van Brunt Avatar answered Oct 04 '22 03:10

Nick Van Brunt


Apple has had a ban on interpreted languages on the iPhone for a while now, but yes, I suppose this makes the ban more clear and more precise. I imagine that yes, Apple is saying that if you use a language other than C, C++, Objective-C, or JavaScript, you run the risk of having your app rejected from the App Store on those grounds.

like image 22
mipadi Avatar answered Oct 04 '22 03:10

mipadi