Mit 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?
iphone
python
cocoa-touch
Davidmytton
quelle
quelle
Antworten:
Derzeit sind C / C ++, Objective C und Swift die einzigen verfügbaren Sprachen für den Zugriff auf das iPhone SDK.
Es gibt keinen technischen Grund, warum sich dies in Zukunft nicht ändern könnte, aber ich würde Ihren Atem nicht anhalten, wenn dies kurzfristig geschieht.
Das heißt, Objective-C und Swift sind wirklich nicht zu beängstigend ...
quelle
Dank der hervorragenden Arbeit von Jay Freeman (saurik) können Sie PyObjC auch auf dem iPhone verwenden. Siehe iPhone-Anwendungen in Python .
Beachten Sie, dass hierfür derzeit ein iPhone mit Jailbreak erforderlich ist.
quelle
Es scheint, dass Entwickler dies jetzt tun dürfen: Die iOS-Entwicklervereinbarung wurde gestern geändert und anscheinend so geändert, dass die Einbettung eines Python-Interpreters in Ihre Anwendung legal ist:
ABSCHNITT 3.3.2 - Dolmetscher
Alt:
Neu:
quelle
Ja, du kannst. Sie schreiben Ihren Code in Tinypy (das ist Python eingeschränkt), 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! mit diesem Ansatz. Hier sind weitere Details,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
quelle
Ja, heutzutage können Sie Apps für iOS in Python entwickeln.
Es gibt zwei Frameworks, die Sie möglicherweise auschecken möchten: Kivy und PyMob .
Bitte beachten Sie auch die Antworten auf diese Frage , da diese aktueller sind als diese.
quelle
Ein Update der iOS-Entwicklervereinbarung bedeutet, dass Sie alles verwenden können, was Sie möchten, solange Sie die Entwicklerrichtlinien erfüllen. Abschnitt 3.3.1, der die Verwendung durch Entwickler für die iOS-Entwicklung einschränkte, wurde vollständig entfernt.
Quelle: http://daringfireball.net/2010/09/app_store_guidelines
quelle
Pythonista verfügt über eine Funktion zum Exportieren in Xcode, mit der Sie Ihre Python-Skripte als Xcode-Projekte exportieren können, die eigenständige iOS-Apps erstellen.
https://github.com/ColdGrub1384/Pyto ist ebenfalls einen Blick wert.
quelle
Die iPhone SDK-Vereinbarung ist auch ziemlich vage, ob Sie überhaupt Skriptsprachen ausführen dürfen (außerhalb von Javascript von WebView). Ich lese, dass es in Ordnung ist - solange keines der von Ihnen ausgeführten Skripte aus dem Netzwerk heruntergeladen wird (vorinstallierte und vom Benutzer bearbeitete Skripte scheinen in Ordnung zu sein).
IANAL etc etc.
quelle
BeeWare ist ein Open Source-Framework zum Erstellen nativer iOS- und Android-Apps.
quelle
Update 2019:
Während die Python-iOS-Entwicklung relativ unausgereift ist und wahrscheinlich verhindert, dass Ihre App über eine native Benutzeroberfläche und Funktionalität verfügt, die in einer von Apple unterstützten Entwicklungssprache erreicht werden könnten, scheint Apple nun die Einbettung von Python-Interpreten in Native Swift / Obj-C zuzulassen Apps.
Dies unterstützt das Importieren von Python-Bibliotheken und das Ausführen von Python-Skripten (auch mit den angegebenen Befehlszeilenargumenten) direkt aus Ihrem nativen Swift / Obj-C-Code.
Mein Unternehmen verpackt unsere Infrastruktur (ursprünglich in Python geschrieben) in eine native iOS-Anwendung! Es funktioniert sehr gut und die Kommunikation zwischen den Teilen kann leicht über ein Client-Server-Modell erreicht werden.
Hier ist eine schöne Bibliothek von Beeware mit einer Cookie-Cutter-Vorlage, wenn Sie versuchen möchten, Python-Skripte in Ihrer iOS-App auszuführen: https://github.com/beeware/Python-Apple-support/tree/3.6 .
quelle
Technisch gesehen kann die App genehmigt werden, solange der interpretierte Code NICHT heruntergeladen wird (ausgenommen JavaScript). Rhomobiles "Rhodes" -Framework macht genau das und bündelt Mobile Ruby, eine leichtgewichtige Version von Rails, und Ihre App für die Verteilung über den App-Store. Da sowohl der Interpreter als auch der interpretierte Code in die endgültige Anwendung gepackt sind, findet Apple dies nicht zu beanstanden.
http://rhomobile.com/products/rhodes/
Auch nach der neuesten Pressemitteilung von Apple sind Rhodes-Apps (Mobile Ruby) im App-Store noch funktionsfähig. Es fällt mir schwer zu glauben, dass tinyPy oder pyObjC keinen Platz finden würden, wenn es eine willige Entwicklergemeinschaft gäbe.
quelle
Sie können dies mit PyObjC tun, natürlich mit einem Telefon mit Jailbreak. Wenn Sie es jedoch in den App Store aufnehmen möchten, wird es nicht zugelassen, da es "Code interpretiert". Möglicherweise können Sie jedoch Shed Skin verwenden , obwohl mir niemand bekannt ist, der dies tut. Ich kann mir keinen guten Grund dafür vorstellen, da Sie die dynamische Eingabe verlieren und genauso gut ObjC verwenden könnten.
quelle
MonoTouch , eine C # /. NET-Umgebung für die Entwicklung auf dem iPhone, ist die einzige wichtige "externe" Sprache für die iPhone-Entwicklung, die mir bekannt ist und die hinsichtlich Frameworks und Kompatibilität nur von geringer Bedeutung ist .
quelle
Ich denke, es 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. Dies Webseite erklärt es ausführlicher.
Ich habe es noch nicht ausprobiert, werde es aber bald ansehen.
quelle