Domanda

Utilizzando PyObjC, puoi utilizzare Python per scrivere applicazioni Cocoa per OS X.Posso scrivere app native per iPhone utilizzando Python e, in caso affermativo, come?

È stato utile?

Soluzione

Al momento no, al momento le uniche lingue disponibili per accedere all'SDK di iPhone sono C/C++, Objective C e Swift.

Non esiste alcun motivo tecnico per cui ciò non possa cambiare in futuro, ma non trattenerei il fiato perché ciò accada a breve termine.

Detto questo, Objective-C e Swift non sono poi così spaventosi...

Modifica del 2016

Javascript con framework NativeScript è ora disponibile per l'uso.

Altri suggerimenti

Puoi utilizzare PyObjC anche su iPhone, grazie all'eccellente lavoro di Jay Freeman (saurik).Vedere Applicazioni iPhone in Python.

Tieni presente che al momento ciò richiede un iPhone jailbroken.

Si, puoi.Scrivi il tuo codice in tinypy (che è Python limitato), quindi usi tinypy per convertirlo in C++ e infine lo compili con XCode in un'app nativa per iPhone.Phil Hassey ha pubblicato un gioco chiamato Elephants!utilizzando questo approccio.Ecco maggiori dettagli,

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

Sembra che ora questo sia qualcosa che gli sviluppatori possono fare:il Contratto per gli sviluppatori iOS è stato modificato ieri e sembra essere stato modificato in modo tale da rendere legale l'incorporamento di un interprete Python nella tua applicazione:

SEZIONE 3.3.2 — INTERPRETI

Vecchio:

3.3.2 Un'applicazione non potrebbe non installare o avviare altri codice eseguibile con qualsiasi mezzo, incluso senza limiti attraverso l'uso di un'architettura plug-in, chiamando altri framework, altre API o altro.Se non diversamente approvato da Apple per iscritto, nessun codice interpretato può essere scaricato o utilizzato in un'applicazione ad eccezione del codice che viene interpretato ed eseguito dalle API documentate di Apple e dall'interprete (i) integrato.Nonostante quanto sopra, con il previo consenso scritto di Apple, un'applicazione può utilizzare il codice interpretato incorporato in modo limitato se tale utilizzo è esclusivamente per fornire funzionalità o funzionalità minori che sono coerenti con lo scopo previsto e pubblicizzato dell'applicazione.

Nuovo:

3.3.2 Un'Applicazione non può scaricare o installare codice eseguibile.Il codice interpretato può essere utilizzato in un'applicazione solo se tutti gli script, il codice e gli interpreti sono confezionati nell'applicazione e non scaricati.L'unica eccezione a quanto precede sono gli script e il codice scaricato ed eseguito dal Webkit Framework integrato di Apple.

Sì, oggigiorno puoi sviluppare app per iOS in Python.

Esistono due framework che potresti voler verificare: Kivy E PyMob.

Si prega di considerare le risposte a questa domanda anche perché sono più aggiornati di questo.

Un aggiornamento al Contratto per gli sviluppatori iOS significa che puoi utilizzare ciò che preferisci, purché rispetti le linee guida per gli sviluppatori.La sezione 3.3.1, che limitava ciò che gli sviluppatori potevano utilizzare per lo sviluppo iOS, è stata completamente rimossa.

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

Pythonista ha una funzione Esporta in Xcode che ti consente di esportare i tuoi script Python come progetti Xcode che creano app iOS autonome.

L'accordo sull'SDK di iPhone è anche piuttosto vago riguardo alla possibilità di eseguire linguaggi di scripting (al di fuori del Javascript di WebView).La mia lettura è che va bene, a patto che nessuno degli script eseguiti venga scaricato dalla rete (quindi gli script preinstallati e modificati dall'utente sembrano essere OK).

IANAL ecc ecc.

Tecnicamente, finché il codice interpretato NON viene scaricato (escluso JavaScript), l'app potrebbe essere approvata.Il framework "Rhodes" di Rhomobile fa proprio questo, raggruppando Ruby mobile, una versione leggera di Rails e la tua app per la distribuzione tramite l'app store.Poiché sia ​​l'interprete che il codice interpretato sono inseriti nell'applicazione finale, Apple non lo trova discutibile.

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

Anche dopo l'ultimo comunicato stampa di Apple, le app di Rhodes (mobile Ruby) sono ancora disponibili sull'App Store.Troverei difficile credere che tinyPy o pyObjC non troverebbero un posto se ci fosse una comunità di sviluppatori disponibile.

Puoi farlo con PyObjC, ovviamente con un telefono jailbroken.Ma se vuoi inserirlo nell'App Store, non lo consentiranno perché "interpreta il codice". Tuttavia, potresti essere in grado di utilizzare Cambiare pelle, anche se non sono a conoscenza di nessuno che lo faccia.Tuttavia, non riesco a pensare a nessun buon motivo per farlo, poiché perdi la digitazione dinamica e potresti anche utilizzare ObjC.

Penso che prima non fosse possibile, ma di recente ho sentito parlare di PyMob, che sembra interessante perché le app sono scritte in Python e gli output finali sono codici sorgente nativi in ​​varie piattaforme (Obj-C per iOS, Java per Android ecc.).Questo è certamente abbastanza unico. Questo pagina web lo spiega in modo più dettagliato.

Non ci ho ancora provato, ma presto ci darò un'occhiata.

BeeWare è un framework open source per la creazione di app native per iOS e Android.

L'unico linguaggio "esterno" significativo per lo sviluppo di iPhone di cui sono a conoscenza con un supporto semi-significativo in termini di framework e compatibilità è MonoTouch, un ambiente C#/.NET per lo sviluppo su iPhone.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top