Frage

Benutzen PyObjC, können Sie mit Python Cocoa-Anwendungen für OS X schreiben.Kann ich native iPhone-Apps mit Python schreiben und wenn ja, wie?

War es hilfreich?

Lösung

Derzeit nicht verfügbar. Die einzigen für den Zugriff auf das iPhone SDK verfügbaren Sprachen sind C/C++, Objective C und Swift.

Es gibt keinen technischen Grund, warum sich dies in Zukunft nicht ändern könnte, aber ich würde nicht den Atem anhalten, wenn dies kurzfristig geschieht.

Allerdings sind Objective-C und Swift wirklich nicht allzu gruselig ...

Ausgabe 2016

Javascript mit dem NativeScript-Framework kann jetzt verwendet werden.

Andere Tipps

Dank der hervorragenden Arbeit von Jay Freeman (saurik) können Sie PyObjC auch auf dem iPhone verwenden.Sehen iPhone-Anwendungen in Python.

Beachten Sie, dass hierfür derzeit ein iPhone mit Jailbreak erforderlich ist.

Ja, du kannst.Sie schreiben Ihren Code in Tinypy (ein eingeschränktes Python), konvertieren ihn dann mit Tinypy in C++ und kompilieren ihn schließlich mit XCode in eine native iPhone-App.Phil Hassey hat ein Spiel namens Elephants veröffentlicht!diesen Ansatz verwenden.Hier sind weitere Details,

http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/

Es scheint, dass dies jetzt etwas ist, was Entwickler tun dürfen:Die iOS-Entwicklervereinbarung wurde gestern geändert und scheint dahingehend ergänzt worden zu sein, dass die Einbettung eines Python-Interpreters in Ihre Anwendung legal ist:

ABSCHNITT 3.3.2 – DOLMETSCHER

Alt:

3.3.2 Eine Anwendung kann selbst keinen anderen ausführbaren Code installieren oder starten, einschließlich ohne Einschränkung durch die Verwendung einer Plug-in-Architektur, aufgerufene andere Frameworks, andere APIs oder auf andere Weise.Sofern von Apple schriftlich nicht anders genehmigt, darf kein interpretierter Code in einer Anwendung heruntergeladen oder verwendet werden, mit Ausnahme von Code, der von Apple von Apples dokumentierte APIs und integrierte Dolmetscher interpretiert und ausgeführt wird.Ungeachtet des Vorstehenden kann eine Anwendung mit der vorherigen schriftlichen Einwilligung von Apple in begrenzter Weise eingebetteter interpretierter Code verwenden, wenn eine solche Verwendung ausschließlich für die Bereitstellung von geringfügigen Funktionen oder Funktionen bestimmt ist, die mit dem beabsichtigten und beworbenen Zweck der Anwendung übereinstimmen.

Neu:

3.3.2 Eine Anwendung darf keinen ausführbaren Code herunterladen oder installieren.Interpretierter Code kann nur in einer Anwendung verwendet werden, wenn alle Skripte, Code und Dolmetscher in der Anwendung verpackt und nicht heruntergeladen werden.Die einzige Ausnahme vom Vorstehenden sind Skripte und Code, das von Apple in das integrierte Webkit-Framework heruntergeladen und ausgeführt wird.

Ja, heutzutage kann man Apps für iOS in Python entwickeln.

Es gibt zwei Frameworks, die Sie vielleicht ausprobieren möchten: Kivy Und PyMob.

Bitte beachten Sie die Antworten auf diese Frage auch, da sie aktueller sind als dieses.

Eine Aktualisierung der iOS-Entwicklervereinbarung bedeutet, dass Sie alles verwenden können, was Sie möchten, solange Sie die Entwicklerrichtlinien einhalten.Abschnitt 3.3.1, der einschränkte, was Entwickler für die iOS-Entwicklung verwenden konnten, wurde vollständig entfernt.

Quelle: http://daringfireball.net/2010/09/app_store_guidelines

Pythonista verfügt über eine Funktion zum Exportieren nach Xcode, mit der Sie Ihre Python-Skripte als Xcode-Projekte exportieren können, die eigenständige iOS-Apps erstellen.

Die iPhone SDK-Vereinbarung ist auch ziemlich vage, was die Frage angeht, ob Sie überhaupt Skriptsprachen ausführen dürfen (außerhalb von WebViews Javascript).Meiner Meinung nach ist es in Ordnung – solange keines der von Ihnen ausgeführten Skripte aus dem Netzwerk heruntergeladen wird (vorinstallierte und vom Benutzer bearbeitete Skripte scheinen also in Ordnung zu sein).

IANAL usw. usw.

Technisch gesehen kann die App genehmigt werden, solange der interpretierte Code NICHT heruntergeladen wird (ausgenommen JavaScript).Rhomobiles „Rhodes“-Framework macht genau das, indem es mobiles Ruby, eine schlanke Version von Rails, und Ihre App für den Vertrieb über den App-Store bündelt.Da sowohl der Interpreter als auch der interpretierte Code in die endgültige Anwendung gepackt werden, hält Apple dies nicht für verwerflich.

http://rhomobile.com/products/rhodes/

Auch nach der neuesten Pressemitteilung von Apple sind Rhodes-Apps (Mobile Ruby) immer noch im App-Store erhältlich.Ich kann kaum glauben, dass tinyPy oder pyObjC keinen Platz finden würden, wenn es eine willige Entwickler-Community gäbe.

Sie können dies mit PyObjC tun, natürlich mit einem Telefon mit Jailbreak.Wenn Sie es jedoch in den App Store bringen möchten, werden sie es nicht zulassen, weil es "Code interpretiert". Möglicherweise können Sie jedoch verwenden Häuten, obwohl mir niemand bekannt ist, der dies tut.Ich kann mir jedoch keinen guten Grund vorstellen, dies zu tun, da Sie die dynamische Eingabe verlieren und genauso gut ObjC verwenden können.

Ich denke, das war früher nicht möglich, aber ich habe kürzlich von PyMob gehört, was interessant erscheint, da die Apps in Python geschrieben sind und die endgültigen Ausgaben native Quellcodes auf verschiedenen Plattformen sind (Obj-C für iOS, Java für Android usw.).Das ist sicherlich ziemlich einzigartig. Das Auf der Webseite wird es ausführlicher erklärt.

Ich habe es noch nicht ausprobiert, werde aber bald einen Blick darauf werfen.

BeeWare ist ein Open-Source-Framework zum Erstellen nativer iOS- und Android-Apps.

Die einzige mir bekannte wichtige „externe“ Sprache für die iPhone-Entwicklung mit halbwegs signifikanter Unterstützung in Bezug auf Frameworks und Kompatibilität ist MonoTouch, eine C#/.NET-Umgebung für die Entwicklung auf dem iPhone.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top