Saya pernah mendengar bahwa Anda perlu mendapatkan Mac jika Anda ingin mengembangkan aplikasi iPhone. Apakah ini benar?
Apakah mungkin untuk mengembangkan aplikasi iPhone menggunakan Linux? Jika ya, apa yang saya butuhkan dan di mana saya mengunduh alat yang diperlukan?
Jawaban:
Untuk memberikan respons yang berbeda, saya menjalankan OS X dan Xcode pada mesin virtualisasi (VMware) di Linux. CPU adalah Core2Quad (Q8800), dan itu sangat cepat. Saya menemukan VM prebuilt online (saya akan menyerahkan kepada Anda untuk menemukan) pengembangan Xcode / iPhone berfungsi dengan baik, seperti halnya debugging melalui USB ke telepon itu sendiri.
Ini benar-benar mengejutkan saya - tapi saya tidak punya masalah sama sekali.
sumber
Jawabannya sangat tergantung pada apakah Anda ingin mengembangkan aplikasi yang kemudian didistribusikan melalui toko iPhone. Jika Anda tidak, dan tidak keberatan mengembangkan untuk kerumunan iPhone "jailbroken" - maka mungkin untuk mengembangkan dari Linux.
Periksa halaman bab ini untuk panduan komprehensif (jika sedikit rumit) tentang apa yang harus dilakukan:
http://www.saurik.com/id/4
sumber
Tampaknya benar sejauh ini. Satu-satunya SDK yang tersedia dari Apple hanya menargetkan lingkungan MacOS. Saya kesal tentang itu, tapi saya ingin membeli mac sekarang, hanya untuk melakukan pengembangan iPhone. Saya benar-benar tidak suka apa yang mereka lakukan, dan saya berharap SDK yang bagus keluar untuk lingkungan lain, seperti Linux dan Windows.
Hambatan tentang SDK:
Saya pikir itu agak elitis bagi mereka untuk berpikir hanya pengguna makro yang cukup baik untuk menulis program untuk ponsel mereka, dan fakta bahwa Anda perlu membeli lisensi $ 100 jika Anda ingin mempublikasikan barang-barang Anda, benar-benar membuatnya lebih sulit bagi programmer penghobi. Padahal, jika itu yang perlu Anda lakukan, saya berencana untuk melompat melalui lingkaran mereka; Saya benar-benar ingin mendapatkan beberapa hal yang dikembangkan di iPhone saya.
sumber
Ada yang digunakan untuk menjadi proyek yang didedikasikan untuk memecahkan cacat ini: iphone-dev
sumber
Mengenai rantai alat alternatif, situs Saurik berguna tetapi untuk pengembangan firmware terbaru, ia menunjukkan pembangunan di iPhone itu sendiri dan tetap menunjukkan bahwa Anda mungkin perlu menyalin file firmware iPhone yang diperlukan ke lingkungan Linux Anda. Bukan tidak mungkin, tetapi hanya membutuhkan pekerjaan tambahan, terutama untuk menandatangani kode (ada solusi alternatif terbuka di luar sana juga).
Juga, lihat panduan lain (untuk rantai alat yang sama) yang mendekatinya secara lebih sistematis.
Saya menyarankan untuk tetap melakukan pembuatan akhir dan penandatanganan kode dan pengemasan dalam XCode (yang dapat berarti meminjam Mac seseorang) jika Anda mengalami masalah ketika mengirimkan aplikasi ke Apple. Menggunakan rantai alat alternatif membuka (setidaknya pada Mac) kemungkinan menggunakan IDE lain selain XCode untuk mengembangkan aplikasi dan kembali menggunakan XCode untuk penyebaran dan pengujian dengan simulator.
Tentu saja jika Anda mendapatkan penandatanganan kode / pembuatan sertifikat bekerja dari baris perintah di luar XCode maka Anda dapat menginstal sertifikat pada iPhone Anda yang sebenarnya dan menguji di sana (menginstal aplikasi melalui iTunes dengan sertifikat Anda).
sumber
Satu-satunya cara saya tahu melakukan pengembangan di Linux untuk iPhone adalah menginstal Vmware dan bekerja untuk menjalankan OS X di mesin virtual. Dengan mengatakan bahwa ada beberapa kekhawatiran "hukum" dalam melakukan itu. Dilaporkan bahwa OS X Server dapat divirtualisasi tetapi sejauh cerita pengembangan tentang itu saya tidak tahu.
Jika Anda benar-benar serius, itulah yang akan saya selidiki.
Semoga berhasil.
sumber
Anda dapat menggunakan Tersus (sumber terbuka), dan itu memungkinkan Anda mengekspor aplikasi sebagai proyek Xcode.
sumber
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Jadi tidak akan bisa mengeluh & menandatangani aplikasi iOS asliAnda mungkin dapat menulis kode pada kotak Linux yang pada akhirnya akan menemukan dirinya sendiri di iPhone atau iPad, tetapi pada akhirnya Anda akan membutuhkan Mac untuk menguji atau menyebarkan kode ke iPhone atau mengirimkannya ke App store. Jadi pada akhirnya Anda membutuhkan Mac, jadi sebaiknya Anda juga mengerjakan Mac, dengan semua alat yang disediakan Apple. Ada alternatif untuk Xcode & Objective-C, seperti Monotouch - tetapi ini juga menggunakan alat Apple.
Anda dapat dengan beberapa pekerjaan menjalankan OS X dalam VM di Linux. Namun saya harus menunjukkan bahwa ini akan melanggar perjanjian lisensi OSX, bahkan jika Anda membeli salinan OSX - karena hanya berlisensi untuk dijalankan pada perangkat keras Apple.
Maaf memberi Anda kabar ini - ekosistem di sekitar iPhone / iPad dikontrol dengan sangat ketat.
EDIT: Satu pengecualian utama untuk ini adalah menulis aplikasi web untuk iPhone. Ada beberapa aplikasi web luar biasa untuk iPhone yang hampir sebagus pengalaman pengguna sebagai aplikasi asli. Namun saya menafsirkan pertanyaan Anda tentang pengembangan aplikasi asli. Aplikasi web, meskipun pengguna dapat membuat ikon untuk meluncurkannya - masih merupakan warga negara 'kelas dua'.
sumber
Saya telah berhasil membangun aplikasi iOS di linux menggunakan toolchain dentang iOS oleh cjacker . Pada dasarnya itu terdiri dari alat hulu clang dan llvm dari distro linux Anda, port linux dari linker apel dan beberapa alat tambahan untuk membantu menyederhanakan proses pembangunan (seperti mengkonversi proyek xcode ke format Makefile).
Memang perlu beberapa langkah untuk menginstal, tetapi Anda adalah seorang pengembang perangkat lunak sehingga Anda akan terbiasa dengan hal itu. Saya memposting howto terkini untuk Debian 7 (Wheezy) online:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Kalau tidak, Anda ingin pergi dengan instruksi umum yang sedikit lebih tua:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Semoga berhasil.
sumber
Ada kerangka kerja yang disebut Rhodes .
Konsep ini didasarkan pada Ruby on Rails dan Anda mengembangkan aplikasi seluler Anda dalam Ruby dan HTML, dan Anda dapat menulis kode di lingkungan Linux. Anda kemudian dapat membuat akun di Rhohub , tempat Anda menambahkan kode (melalui GitHub ), dan memungkinkan Anda untuk mengompilasinya untuk iPhone, Blackberry, Android, Windows Mobile dan Symbian, semuanya dengan kode yang sama. Anda tidak perlu kode di Objective-C untuk iPhone, atau Java untuk Android, dll. Itu konversi untuk Anda. Yang perlu Anda lakukan adalah tetap berpegang pada Aturan untuk membuat aplikasi iPhone (atau telepon yang ingin Anda kembangkan) sehingga dapat diterima di iTunes (atau pasar yang setara).
Ini akan memungkinkan Anda untuk menambahkan aplikasi ke iTunes juga.
Namun, saya belum menemukan emulator, yang artinya untuk menguji aplikasi Anda, Anda harus meletakkannya di iPhone, yang merupakan sebuah misi.
Saya menggunakan opsi ini karena saya ingin membuat aplikasi untuk semua telepon dan saya sudah menggunakan Ruby on Rails. Jika Anda hanya ingin membuat aplikasi untuk iPhone, berinvestasi di Mac.
Semoga ini membantu.
sumber
Anda benar ponsel yang tidak dipenjara terbatas pada App Store Apple dan Apple "memiliki hak" untuk menegakkan aturan apa pun, itu sepenuhnya wilayah yang tidak bebas. Namun saat berkembang, seseorang tidak harus berurusan dengan Apple sama sekali. Anda dapat menggunakan misalnya rsync untuk mengunggah kode ke perangkat dan mengujinya.
sumber
Sampai batas tertentu, ya, itu mungkin. Anda dapat mengetik kode Objective-C dan mengatur proyek Anda. Anda bahkan dapat menguji bagian C dan C ++ dari kode Anda dengan gcc.
Apa yang tidak dapat Anda lakukan:
sumber
Anda perlu mendapatkan mac untuk itu. Ada beberapa rantai alat yang tersedia (seperti win-chain) yang sebenarnya memungkinkan Anda menulis dan membangun aplikasi i Phone di windows. Ada beberapa tutorial terkait untuk membangun kode Objective C pada Windows. Tetapi ada masalah, aplikasi yang dikembangkan akan bekerja hanya di Telepon rusak di Penjara.
Kami telah melihat beberapa peretasan untuk mengatasi itu dan membuatnya ke App Store, tetapi karena Apple terus memperbarui SDK, rantai alat memerlukan pembaruan rutin. Ini merepotkan untuk memperbaikinya setiap saat. Jika Anda ingin mendapatkan aplikasi siap, Anda juga dapat mengambil bantuan dari arcapps meluncurkan aplikasi dengan harga yang wajar. pengembangan aplikasi iphone
sumber
Saya melakukan upaya untuk port cocos2d-iphone ke GNUstep sehingga Anda dapat Mengembangkan game berdasarkan cocos2d. Namun untuk penerbitan Anda memerlukan mac. cocos2d-GNUstep .
sumber
Saya akan merekomendasikan mendapatkan mac karena simulator ios luar biasa untuk pengujian pada tahap awal suatu aplikasi. Tapi saya tahu perusahaan kecil tempat kami bekerja yang mengembangkan menggunakan Unity sehingga mereka tidak membutuhkan banyak mac. Dengan begitu mereka hanya membutuhkan satu mac untuk kantor dan itu hanya untuk mengkompilasi build terakhir. Ini juga berarti ini berfungsi di Android tetapi sangat tergantung pada apa bangunan Anda karena itu adalah mesin permainan. Anda mungkin ingin melihat ke dalam aplikasi web menggunakan kerangka kerja seperti Sencha Touch Mobile
Unity: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
sumber
Jika Anda menghargai waktu Anda, belilah Mac! Saya tidak cukup tahu tentang opsi pengembangan Linux untuk menawarkan solusi yang layak, tetapi tampaknya metode yang diusulkan melibatkan beberapa pekerjaan bundaran yang cantik. Jika Anda berencana untuk serius menulis dan menjual aplikasi iPhone, saya pikir Anda dapat dengan mudah mengganti biaya Mac Mini atau Macbook. :-)
sumber
Anda tidak akan pernah mendapatkan aplikasi Anda disetujui oleh Apple jika tidak dikembangkan menggunakan Xcode. Tidak pernah. Dan jika Anda meretas SDK untuk dikembangkan di Linux dan Apple mengetahuinya, jangan kaget ketika Anda dilayani. Saya adalah anggota dari ADC dan program pengembang iPhone. Percayalah, Apple SANGAT serius tentang ini.
Jangan ambil risiko, Beli Macbook atau Mac mini (ya mini bisa menjalankan Xcode - meskipun perlahan - meningkatkan RAM jika Anda menggunakan mini). Juga, sementara saya melihat OS X diretas untuk dijalankan di VMware saya belum pernah melihat orang yang menjalankan Xcode pada VM. Semoga beruntung. Dan saya akan memeriksa EULA sebelum Anda melewati masalah.
PS: Setelah membaca di atas, ya saya setuju. Jika Anda meretas SDK dan mengembangkannya di Linux, setidaknya lakukan pengemasan akhir pada Mac. Dan kirimkan melalui Mac. Apple tidak menjalankan kode baris demi baris jadi saya ragu mereka akan menangkapnya. Tapi man, itu banyak jika dan bekerja. Tetaplah menyenangkan untuk dilakukan. :)
sumber