2010-04-08 3 views
9

Nach this post auf Daring Fireball eine neue Version iPhone SDK-Abkommen in Verbindung mit dem iPhone OS 4.0 Ankündigung verbietet heute speziell jede iPhone Anwendung nicht implementiert in C, C++, Objective-C oder JavaScript. Die deutliche Auswirkung hierauf ist die große Vielfalt von Programmen, die in anderen Sprachen geschrieben sind.Sind C/C++/ObjC/Swift/JS Apples einzige Sprachen für die iPhone-Entwicklung?

Ist das auch Ihre Lesart der Klausel in der neuen Vereinbarung?

Update: Hier ist die Klausel als auf Daring Fireball gedruckt:

3.3.1 - Anwendungen nur dokumentierte APIs in der Art und Weise von Apple vorgeschriebenen verwenden kann und darf keine privaten APIs verwenden, oder rufen Sie. Anwendungen müssen ursprünglich in Objective-C, C, C++ oder JavaScript geschrieben sein, wie sie von der iPhone OS WebKit-Engine ausgeführt werden, und nur in C, C++ und Objective-C geschriebener Code kann kompiliert und direkt mit den dokumentierten APIs verknüpft werden. Anwendungen, die über eine zwischengeschaltete Übersetzungs- oder Kompatibilitätsebene oder ein Tool mit dokumentierten APIs verknüpft sind, sind nicht zulässig.

+2

Es gibt eine Anzeige für MonoTouch genau dort -> Ich hoffe, Entwickler setzen genug Druck auf Apple, um diese Klausel entfernt oder geändert zu bekommen. Ich kann sehen, warum sie Flash draußen halten wollen, aber sie töten damit eine Menge des bestehenden Ökosystems. – U62

+2

Man kann hoffen ... –

+0

Corona verwendet Lua Bindungen zu Cocoa Touch und es sind viele ihrer Apps in den App Store aufgenommen. Der Schlüssel ist die letzte Zeile. "Anwendungen, die über eine zwischengeschaltete Übersetzungs- oder Kompatibilitätsschicht oder ein Werkzeug mit dokumentierten APIs verknüpft sind, sind verboten." Diese letzte Zeile schließt Java, Flash und viele andere Umgebungen vom Typ "VM" aus. –

Antwort

1

Apple hat seit einiger Zeit ein Verbot von interpretierten Sprachen auf dem iPhone, aber ja, ich nehme an, dies macht das Verbot klarer und präziser. Ich stelle mir ja vor, dass Apple meint, dass Sie, wenn Sie eine andere Sprache als C, C++, Objective-C oder JavaScript verwenden, das Risiko eingehen, dass Ihre App aus diesem Grund aus dem App Store abgelehnt wird.

+0

Ist Javascript keine interpretierte Sprache? :) –

+0

@Billy: Javascript, wenn nicht von WebKit interpretiert, anscheinend, ja. – fbrereto

+0

Ha! Touché. Was ich sagen will, ist "interpretierte Sprachen, die erfordern, dass der Interpreter/die Laufzeitumgebung vom Entwickler gepackt wird". :) Oder vielleicht "interpretierte Sprachen außerhalb des Browsers", da ich nicht glaube, dass Sie eine JavaScript-fremde Anwendung für das iPhone in JavaScript erstellen könnten (aber ich könnte falsch liegen). – mipadi

-1

Leider ja. Das ist auch meine Lektüre.

0

Ja, es sieht sicher auch so für mich aus. Meine Vermutung ist, dass es geschrieben wurde, um den gesamten Adobe CS5 Flash to iPhone App-Export zu stoppen. Irgendwie nervt Adobe, wenn das stimmt, seit Adobe CS5 in einigen Tagen veröffentlicht.

+0

Ja, ich denke, es geht um Monotouch und CS5. – DenNukem

0

Es gibt auch die Option von C# mit MonoTouch. Ich glaube, dass Sie damit jede Sprache verwenden können, die einen gültigen CLI-Bytecode ausgibt, aber zitieren Sie mich nicht dazu.

http://monotouch.net/

+1

Nun, hast du die verlinkte Seite gelesen? Es sieht so aus, als ob Apple die Verwendung solcher Alternativen aus irgendeinem Grund verbietet ... – SamB

3

Dies wurde verursacht Reibung zwischen Apfel und Entwicklern, da sie ersten Kakao Touch eröffnet.

Es war der Commodore 64 Ausgabe: http://gizmodo.com/5354422/commodore-64-iphone-app-approved-removed

Der c-64-Emulator erlaubt Zugriff auf die grundlegenden CLI und wurde von Apple entfernt.

Es gab auch viele Diskussionen auf der Lua-Liste: http://lua-users.org/lists/lua-l/2009-10/msg00015.html

Lua kann so auf dem iPhone Arm-Prozessor aus der c Quelle aufgebaut werden soll dies als c oder Lua?

Einige Anwendungen Lua akzeptiert wurden: http://tuomaspelkonen.com/2010/03/why-lua-truly-rocks/

Unity verwendet Skriptsprachen als Teil seiner API und viele Unity Spiele akzeptiert wurden: http://unity3d.com/gallery/game-list/

... einschließlich Zombie, die „war in Apples iTunes Rewind 2009 als eines der meistverkauften Spiele des Jahres anerkannt ".

Ich kann nicht sehen, dass sie alle diese Spiele an diesem Punkt entfernen.

Am meisten frustriert ist, dass es anscheinend keinen einzigen Standard für das gibt, was akzeptiert wird und was nicht. Haben große Spieler wie Adobe und Unity spezielle Privilegien, um Scripting zu verwenden, was kleinere Gruppen nicht tun?

+1

Die vorherige Vereinbarung verbot Anwendungen, die es dem Benutzer erlaubten, sie zu skripten oder für den Benutzer, um ausführbaren Code herunterzuladen. Obwohl Unity3d einen Javascript-Interpreter enthält, war es in Ordnung, da nur Code ausgeführt wurde, der mit der ursprünglichen App geliefert wurde. Aus dem gleichen Grund wäre Flash CS5 erlaubt gewesen. Die neue Vereinbarung ist eine sehr stumpfe Art, Flash CS5 zu stoppen, die gerade viele andere Technologien herausnimmt. Ich wäre wirklich nicht überrascht, wenn ich herausfände, dass Apple die Konsequenzen nicht berücksichtigt hat. – U62

+0

Geöffnete Kakaotasche? Dies ist die am wenigsten "offene" Verwendung des Wortes "offen" in der Technologiegeschichte. Oh, Moment mal. Nein ist es nicht. Erinnere dich an die "Offene Gruppe". :-) –

-1

Es scheint so. Apple hat gerade einen Fanboy verloren.