Menggunakan PyObjC , Anda dapat menggunakan Python untuk menulis aplikasi Cocoa untuk OS X. Dapatkah saya menulis aplikasi iPhone asli menggunakan Python dan jika ya, bagaimana?
iphone
python
cocoa-touch
davidmytton
sumber
sumber
Jawaban:
Tidak saat ini, saat ini satu-satunya bahasa yang tersedia untuk mengakses iPhone SDK adalah C / C ++, Objective C dan Swift.
Tidak ada alasan teknis mengapa hal ini tidak dapat berubah di masa mendatang, tetapi saya tidak akan menahan napas Anda karena hal ini terjadi dalam jangka pendek.
Meski begitu, Objective-C dan Swift sebenarnya tidak terlalu menakutkan ...
sumber
Anda juga dapat menggunakan PyObjC di iPhone, karena karya luar biasa dari Jay Freeman (saurik). Lihat Aplikasi iPhone dengan Python .
Perhatikan bahwa ini membutuhkan iPhone yang sudah di-jailbreak saat ini.
sumber
Tampaknya ini sekarang adalah sesuatu yang diizinkan untuk dilakukan oleh pengembang: Perjanjian Pengembang iOS telah diubah kemarin dan tampaknya telah diubah sedemikian rupa untuk membuat penyematan penerjemah Python dalam aplikasi Anda legal:
BAGIAN 3.3.2 - PENAFSIR
Tua:
Baru:
sumber
Ya kamu bisa. Anda menulis kode Anda dalam tinypy (yang dibatasi Python), lalu menggunakan tinypy untuk mengubahnya menjadi C ++, dan terakhir mengkompilasinya dengan XCode menjadi aplikasi iPhone asli. Phil Hassey telah menerbitkan game berjudul Elephants! menggunakan pendekatan ini. Berikut detail selengkapnya,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
sumber
Ya, saat ini Anda dapat mengembangkan aplikasi untuk iOS dengan Python.
Ada dua kerangka kerja yang mungkin ingin Anda periksa : Kivy dan PyMob .
Harap pertimbangkan jawaban atas pertanyaan ini juga, karena jawaban tersebut lebih mutakhir daripada yang ini.
sumber
Pembaruan pada Perjanjian Pengembang iOS berarti Anda dapat menggunakan apa pun yang Anda suka, selama Anda memenuhi pedoman pengembang. Bagian 3.3.1, yang membatasi apa yang dapat digunakan pengembang untuk pengembangan iOS, telah dihapus seluruhnya.
Sumber: http://daringfireball.net/2010/09/app_store_guidelines
sumber
Pythonista memiliki fitur Ekspor ke Xcode yang memungkinkan Anda mengekspor skrip Python sebagai proyek Xcode yang membuat aplikasi iOS mandiri.
https://github.com/ColdGrub1384/Pyto juga layak untuk dilihat.
sumber
Perjanjian iPhone SDK juga agak kabur tentang apakah Anda bahkan diizinkan untuk menjalankan bahasa skrip (di luar Javascript WebView). Saya membaca bahwa tidak apa-apa - selama tidak ada skrip yang Anda jalankan diunduh dari jaringan (jadi skrip pra-instal dan yang diedit pengguna tampaknya baik-baik saja).
IANAL dll.
sumber
BeeWare adalah kerangka kerja sumber terbuka untuk membuat aplikasi iOS & Android asli.
sumber
Pembaruan 2019:
Meskipun pengembangan Python-iOS relatif belum matang dan kemungkinan akan mencegah (afaik) aplikasi Anda memiliki UI asli dan fungsionalitas yang dapat dicapai dalam bahasa pengembangan yang didukung Apple, Apple sekarang tampaknya mengizinkan penyematan interpreter Python di Native Swift / Obj-C aplikasi.
Ini mendukung pengimporan pustaka Python dan menjalankan skrip Python (bahkan dengan argumen baris perintah yang disediakan) langsung dari kode Native Swift / Obj-C Anda.
Perusahaan saya sebenarnya membungkus infrastruktur kami (aslinya ditulis dengan Python) dalam aplikasi iOS asli! Ini bekerja dengan sangat baik dan komunikasi antar bagian dapat dengan mudah dicapai melalui model klien-server.
Ini adalah pustaka yang bagus dari Beeware dengan template cookiecutter jika Anda ingin mencoba dan menjalankan skrip Python di aplikasi iOS Anda: https://github.com/beeware/Python-Apple-support/tree/3.6 .
sumber
Secara teknis, selama kode yang ditafsirkan TIDAK diunduh (tidak termasuk JavaScript), aplikasi dapat disetujui. Framework Rhomobiles "Rhodes" melakukan hal itu, menggabungkan Ruby seluler, versi Rails yang ringan, dan aplikasi Anda untuk didistribusikan melalui app-store. Karena penerjemah dan kode yang diinterpretasikan dikemas ke dalam aplikasi akhir - Apple tidak merasa keberatan.
http://rhomobile.com/products/rhodes/
Bahkan setelah rilis pers Apple terbaru - aplikasi rhodes (ruby seluler) masih dapat digunakan di App Store. Saya akan sulit percaya bahwa tinyPy atau pyObjC tidak akan menemukan tempat jika ada komunitas pengembang yang bersedia.
sumber
Anda dapat melakukan ini dengan PyObjC, tentu saja dengan telepon yang sudah di-jailbreak. Tetapi jika Anda ingin memasukkannya ke App Store, mereka tidak akan mengizinkannya karena "menafsirkan kode". Namun, Anda mungkin dapat menggunakan Shed Skin , meskipun saya tidak mengetahui ada orang yang melakukan ini. Saya tidak bisa memikirkan alasan bagus untuk melakukan ini, karena Anda kehilangan pengetikan dinamis, dan mungkin juga menggunakan ObjC.
sumber
Satu-satunya bahasa "eksternal" yang signifikan untuk pengembangan iPhone yang saya ketahui dengan dukungan semi-signifikan dalam hal kerangka kerja dan kompatibilitas adalah MonoTouch , lingkungan C # /. NET untuk dikembangkan di iPhone.
sumber
Saya pikir itu tidak mungkin sebelumnya tetapi saya baru-baru ini mendengar tentang PyMob, yang tampaknya menarik karena aplikasinya ditulis dengan Python dan keluaran akhirnya adalah kode sumber asli di berbagai platform (Obj-C untuk iOS, Java untuk Android dll). Ini tentu cukup unik. Halaman web ini menjelaskannya lebih detail.
Saya belum mencobanya, tetapi akan segera melihatnya.
sumber