Question

En utilisant PyObjC, vous pouvez utiliser Python pour écrire des applications Cocoa pour OS X.Puis-je écrire des applications iPhone natives en utilisant Python et si oui, comment ?

Était-ce utile?

La solution

Pas actuellement, les seuls langages disponibles pour accéder au SDK iPhone sont actuellement C/C++, Objective C et Swift.

Il n’y a aucune raison technique pour laquelle cela ne pourrait pas changer à l’avenir, mais je ne retiendrais pas votre souffle si cela se produit à court terme.

Cela dit, Objective-C et Swift ne font vraiment pas trop peur...

édition 2016

Javascript avec le framework NativeScript est disponible dès maintenant.

Autres conseils

Vous pouvez également utiliser PyObjC sur iPhone, grâce à l'excellent travail de Jay Freeman (saurik).Voir Applications iPhone en Python.

Notez que cela nécessite pour le moment un iPhone jailbreaké.

Oui, vous pouvez.Vous écrivez votre code en tinypy (qui est Python restreint), puis vous utilisez tinypy pour le convertir en C++, et enfin vous le compilez avec XCode dans une application iPhone native.Phil Hassey a publié un jeu intitulé Elephants !en utilisant cette approche.Voici plus de détails,

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

Il semble que ce soit désormais quelque chose que les développeurs sont autorisés à faire :le contrat de développement iOS a été modifié hier et semble avoir été modifié de manière à rendre légale l'intégration d'un interpréteur Python dans votre application :

SECTION 3.3.2 — INTERPRÈTES

Vieux:

3.3.2 Une application peut ne pas installer ou lancer un autre code exécutable par tous les moyens, y compris sans limitation grâce à l'utilisation d'une architecture de plug-in, appelant d'autres cadres, d'autres API ou autrement.Sauf indication contraire par Apple par écrit, aucun code interprété ne peut être téléchargé ou utilisé dans une application, à l'exception du code qui est interprété et exécuté par les API documentées d'Apple et les interprètes intégrés.Nonobstant ce qui précède, avec le consentement écrit préalable d'Apple, une application peut utiliser le code interprété intégré de manière limitée si une telle utilisation est uniquement pour fournir des fonctionnalités ou des fonctionnalités mineures conformes à l'objectif prévu et annoncé de l'application.

Nouveau:

3.3.2 Une application ne peut pas télécharger ou installer de code exécutable.Le code interprété ne peut être utilisé dans une application que si tous les scripts, code et interprètes sont emballés dans l'application et non téléchargés.La seule exception à ce qui précède est les scripts et le code téléchargés et exécutés par le framework Webkit intégré d'Apple.

Oui, de nos jours, vous pouvez développer des applications pour iOS en Python.

Il existe deux frameworks que vous souhaiterez peut-être consulter : Kivy et PyMob.

Veuillez considérer les réponses à cette question aussi, car ils sont plus à jour que celui-ci.

Une mise à jour du contrat de développeur iOS signifie que vous pouvez utiliser ce que vous voulez, à condition de respecter les directives du développeur.La section 3.3.1, qui limitait ce que les développeurs pouvaient utiliser pour le développement iOS, a été entièrement supprimée.

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

Pythoniste dispose d'une fonctionnalité d'exportation vers Xcode qui vous permet d'exporter vos scripts Python en tant que projets Xcode qui créent des applications iOS autonomes.

L'accord du SDK iPhone est également plutôt vague quant à savoir si vous êtes même autorisé à exécuter des langages de script (en dehors du Javascript d'un WebView).Ma lecture est que tout va bien - tant qu'aucun des scripts que vous exécutez n'est téléchargé à partir du réseau (les scripts préinstallés et modifiés par l'utilisateur semblent donc corrects).

IANAL, etc.

Techniquement, tant que le code interprété N'EST PAS téléchargé (hors JavaScript), l'application peut être approuvée.C'est exactement ce que fait le framework Rhomobiles "Rhodes", regroupant Ruby mobile, une version allégée de Rails et votre application pour une distribution via l'App Store.Étant donné que l'interpréteur et le code interprété sont intégrés dans l'application finale, Apple ne trouve pas cela répréhensible.

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

Même après le dernier communiqué de presse d'Apple, les applications Rhodes (ruby mobile) sont toujours viables sur l'App Store.J'aurais du mal à croire que tinyPy ou pyObjC ne trouveraient pas leur place s'il existe une communauté de développeurs volontaire.

Vous pouvez le faire avec PyObjC, avec un téléphone jailbreaké bien sûr.Mais si vous voulez le mettre dans l'App Store, ils ne le permettront pas car il «interprète le code». Cependant, vous pourrez peut-être utiliser Peau perdue, même si je ne connais personne faisant cela.Cependant, je ne vois aucune bonne raison de le faire, car vous perdez la saisie dynamique et vous pourriez tout aussi bien utiliser ObjC.

Je pense que ce n'était pas possible plus tôt mais j'ai récemment entendu parler de PyMob, ce qui semble intéressant car les applications sont écrites en Python et les sorties finales sont des codes sources natifs sur diverses plateformes (Obj-C pour iOS, Java pour Android, etc.).C’est certainement tout à fait unique. Ce la page Web l'explique plus en détail.

Je n'ai pas encore essayé, mais j'y jetterai un œil bientôt.

BeeWare est un framework open source pour la création d'applications natives iOS et Android.

Le seul langage "externe" significatif pour le développement iPhone que je connaisse avec un support semi-significatif en termes de frameworks et de compatibilité est MonoTouch, un environnement C#/.NET pour développer sur iPhone.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top