Jadi ini milenium baru; Apple telah melambaikan tangan mereka; sekarang legal untuk menyertakan penerjemah Python di aplikasi iPhone (App Store).
Bagaimana cara melakukan ini? Semua diskusi yang ada (tidak mengejutkan) mengacu pada jailbreaking. (Pertanyaan lama: Bisakah saya menulis aplikasi iPhone asli menggunakan Python )
Tujuan saya di sini bukan untuk menulis aplikasi PyObjC, tetapi untuk menulis aplikasi ObjC biasa yang menjalankan Python sebagai pustaka tertanam. Kode Python kemudian akan memanggil kembali ke kode Cocoa asli. Ini adalah pola "logika kontrol adalah kode Python".
Apakah ada panduan untuk membuat Python dibangun di XCode, sehingga aplikasi iPhone saya dapat menautkannya? Lebih disukai Python yang dipreteli, karena saya tidak membutuhkan 90% dari pustaka standar.
Saya mungkin bisa mengetahui threading dan Python-extension API; Saya telah melakukannya di MacOS. Tetapi hanya menggunakan kompiler baris perintah, bukan XCode.
Jawaban:
Tidak masalah bagaimana Anda membuat Python - Anda tidak perlu membuatnya di Xcode, misalnya - tetapi yang penting adalah produk dari build itu.
Yaitu, Anda perlu membangun sesuatu seperti libPython.a yang dapat ditautkan secara statis ke aplikasi Anda. Setelah Anda memiliki .a, itu dapat ditambahkan ke proyek Xcode untuk aplikasi Anda dan, dari sana, itu akan ditautkan dan ditandatangani seperti aplikasi Anda lainnya.
IIRC (sudah lama sejak saya membuat python dengan tangan) python out-of-the-box akan membangun libPython.a (dan banyak pustaka lain), jika Anda mengkonfigurasinya dengan benar.
Tentu saja, masalah kedua Anda adalah python kompilasi silang untuk ARM dari kotak 86 Anda . Python adalah proyek berbasis autoconf dan autoconf adalah kesulitan untuk kompilasi silang.
Saat Anda menyatakan dengan benar, menjadikannya kecil akan sangat penting.
Tidak mengherankan, jika Anda bukan orang pertama yang ingin melakukan ini, tetapi tidak untuk iOS. Python telah dimasukkan ke dalam perangkat yang jauh lebih tidak mampu daripada yang menjalankan iOS. Saya menemukan utas dengan banyak tautan saat mencari di Google; itu mungkin berguna .
Selain itu, Anda mungkin ingin bergabung dengan daftar pyobjc-dev . Meskipun Anda tidak menargetkan aplikasi berbasis PyObjC (yang, btw, adalah ide yang bagus - PyObjC memiliki jalan panjang sebelum menjadi ramah iOS), komunitas PyObjC telah mendiskusikan hal ini dan Ronald, siapa pun, mungkin orang yang paling berpengetahuan di bidang ini. Perhatikan bahwa PyObjC harus menyelesaikan masalah Python yang disematkan pada iOS sebelum melakukan porting PyObjC. Prasyarat mereka adalah kebutuhan Anda.
sumber
Saya telah memasang skrip yang sangat kasar di github yang mengambil dan membangun python2.6.5 untuk iPhone dan simulator.
http://github.com/cobbal/python-for-iphone
Pekerjaan sedang dalam proses
Pembaruan yang agak menyedihkan hampir 2 tahun kemudian: (disalin dari README di github)
sumber
pyobjc
sulit dikompilasi, apakah layak digunakanctypes
? Dalam hal ini, jawaban ini mungkin menjadi petunjuk (menyadari bahwa ini hanyalah awal dari pekerjaan yang besar dan menyakitkan, tetapi tetap saja).Saya juga memulai proyek seperti itu. Itu datang dengan skrip kompilasi yang disederhanakan sendiri sehingga tidak perlu dipusingkan dengan autoconf untuk mendapatkan perpustakaan statis terkompilasi silang Anda. Ia mampu membangun pustaka statis bebas ketergantungan Python dengan beberapa modul umum. Ini harus mudah dikembangkan.
https://github.com/albertz/python-embedded/
sumber