İPhone uygulamaları geliştirmek istiyorsanız bir Mac almanız gerektiğini duydum. Bu doğru mu?
Linux kullanarak iPhone uygulamaları geliştirmek mümkün müdür? Evetse, neye ihtiyacım var ve gerekli araçları nereden indirebilirim?
İPhone uygulamaları geliştirmek istiyorsanız bir Mac almanız gerektiğini duydum. Bu doğru mu?
Linux kullanarak iPhone uygulamaları geliştirmek mümkün müdür? Evetse, neye ihtiyacım var ve gerekli araçları nereden indirebilirim?
Yanıtlar:
Farklı bir yanıt sağlamak için, Linux'ta sanallaştırılmış (VMware) bir makinede OS X ve Xcode kullanıyorum. CPU bir Core2Quad (Q8800) ve mükemmel hızlı. Çevrimiçi olarak önceden oluşturulmuş bir VM buldum (bulmak için size bırakacağım) Xcode / iPhone geliştirme, USB üzerinden telefonun kendisine hata ayıklama gibi mükemmel çalışıyor.
Aslında beni çok şaşırttı - ama hiç sorun yaşamadım.
Bunun cevabı, daha sonra iPhone mağazası aracılığıyla dağıtılan uygulamalar geliştirmek isteyip istemediğinize bağlıdır. Yapmazsanız ve "jailbreak" iPhone kalabalığı için gelişmeyi önemsemiyorsanız - o zaman Linux'tan geliştirmek mümkündür.
Ne yapılacağına dair kapsamlı (biraz karmaşıksa) bir kılavuz için bu arkadaşın sayfasına bakın:
Şimdiye kadar doğru gibi görünüyor. Apple tarafından sunulan tek SDK yalnızca MacOS ortamını hedefler. Bu konuda üzüldüm, ancak şimdi sadece iPhone geliştirme yapmak için bir mac satın almak istiyorum. Yaptıklarından gerçekten hoşlanmıyorum ve umarım Linux ve Windows gibi diğer ortamlar için iyi bir SDK çıkar.
SDK ile ilgili engeller :
İPhone SDK ve özgür yazılım: bir eşleşme değil
Apple son zamanlarda iPhone için bir yazılım geliştirme kiti (SDK) yayınladı, ancak orijinal açık kaynaklı yazılımı taşımayı veya geliştirmeyi umuyorsanız, haberler iyi değil. Kod imzalama ve gizlilikten korunma koşulları, özgür yazılımı hareketsiz hale getirir.
SDK'nın kendisi, programları yazıp bir yazılım simülatöründe çalıştırabileceğiniz ücretsiz bir indirme işlemidir. Ancak, yazdığınız yazılımı gerçekten yayınlamak için, SDK'yı indirmekten ayrı bir adım olan ve Apple'ın onayını gerektiren bir iPhone Geliştirici Programına kaydolmalısınız.
Bence sadece macos kullanıcılarının telefonlarına program yazmak için yeterince iyi olduğunu düşünmek oldukça elitist ve eşyalarınızı yayınlamak istiyorsanız 100 dolarlık bir lisans satın almanız gerekiyor, hobi programcısı için gerçekten zorlaşıyor. Gerçi, yapmanız gereken buysa, çemberlerinden atlamayı planlıyorum; İPhone'umda bazı şeyler geliştirmek istiyorum.
Orada eskiden : Bu kusur çözmek için adanmış bir proje iphone-dev
İphone-dev projesinin amacı, Apple iPhone ve ARM / Darwin platformuna dayanan diğer gömülü cihazlar için geliştirme sağlamak için ücretsiz, taşınabilir, yüksek kaliteli bir araç zinciri oluşturmaktır.
Alternatif araç zinciri ile ilgili olarak, Saurik'in sitesi yararlıdır, ancak en son ürün yazılımı geliştirme için iPhone'un üzerine inşa edildiğini belirtir ve gerekli iPhone ürün yazılımı dosyalarını Linux ortamınıza kopyalamanız gerekebileceğini belirtmekten uzak kalır. Bu imkansız değil, ancak özellikle kodu imzalamak için sadece ek iş gerektiriyor (orada da açık alternatif çözümler var).
Ayrıca, ona daha metodik yaklaşan diğer kılavuzlara (aynı takım zinciri için) bir göz atın.
Hala Apple'a gönderirken sorun yaşarsanız XCode'daki son derlemeyi ve kod imzalamayı ve paketlemeyi (birinin Mac'ini ödünç almak anlamına gelebilir) yapmanızı öneririm. Alternatif araç zincirinin kullanılması (en azından Mac'te), uygulamayı geliştirmek için XCode dışındaki diğer IDE'leri kullanma ve simülatörle dağıtım ve test için tekrar XCode'a başvurma olasılığını açar.
Tabii ki kod imzalama / sertifika oluşturma işlemini XCode dışındaki komut satırından çalıştırırsanız, gerçek iPhone'unuza bir sertifika yükleyebilir ve orada test edebilirsiniz (uygulamayı sertifikanızla iTunes'u yükleyerek).
İPhone için Linux'ta geliştirme yapmanın tek yolu Vmware'i yüklemek ve OS X'i sanal bir makinede çalıştırmak için çalışmak olacaktır. Bununla birlikte, bunu yaparken bazı "yasal" endişeler vardır. OS X Server'ın sanallaştırılabileceği ancak bilmediğim geliştirme hikayesine kadar olduğu bildirildi.
Eğer gerçekten ciddiyseniz, araştırdığım şey buydu.
İyi şanslar.
Tersus'u (açık kaynak) kullanabilirsiniz ve uygulamayı bir Xcode projesi olarak dışa aktarmanıza izin verir.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Bu yüzden yerel bir iOS uygulamasını
Sonunda kendini bir iPhone veya iPad'de bulacak bir Linux kutusuna kod yazabilirsiniz, ancak sonunda kodu test etmek veya iPhone'a dağıtmak veya App Store'a göndermek için bir Mac'e ihtiyacınız olacaktır. Sonuçta bir Mac'e ihtiyacınız var, bu yüzden Apple'ın sağladığı tüm araçlarla Mac'teki işi de yapabilirsiniz. Xcode & Objective-C'ye Monotouch gibi alternatifler var - ancak bunlar Apple araçlarını da kullanıyor.
Bazı çalışmalarda Linux üzerinde bir VM'de OS X'i çalıştırabilirsiniz. Bununla birlikte, OSX kopyasını satın alsanız bile OSX lisans sözleşmesini kıracağına dikkat çekmeliyim - çünkü sadece Apple donanımında çalışmak üzere lisanslanmıştır.
Size bu haberi verdiğim için üzgünüm - iPhone / iPad çevresindeki ekosistem çok sıkı bir şekilde kontrol ediliyor.
EDIT: Bunun önemli bir istisnası iPhone için bir web uygulaması yazmak. İPhone için yerel bir uygulama kadar kullanıcı deneyimi kadar iyi olan bazı mükemmel web uygulamaları var. Ancak, sorunuzu yerel uygulama geliştirme ile ilgili olarak yorumladım. Web uygulamaları, kullanıcı bunları başlatmak için bir simge oluşturabilse de, hala 'ikinci sınıf' vatandaşlar.
Cjacker'ın iOS clang araç zincirini kullanarak linux üzerinde iOS uygulamaları oluşturmada başarılı oldum . Temel olarak linux dağıtımınızdan gelen yukarı akım clang ve llvm araçlarından, apple'ın bağlayıcısının linux portundan ve inşa sürecini basitleştirmeye yardımcı olacak bazı ekstra araçlardan (xcode projelerini Makefile formatına dönüştürmek gibi) oluşur.
Yüklemek için birkaç adım gerekiyor, ancak bir yazılım geliştiricisiniz, bu yüzden buna alışacaksınız. Ben Debian 7 (Wheezy) için güncel bir howto yayınladım:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Aksi takdirde, biraz daha eski olan genel talimatlarla gitmek istersiniz:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
İyi şanslar.
Rodos adında bir çerçeve var .
Konsept Ruby on Rails'e dayanıyor ve mobil uygulamanızı Ruby ve HTML olarak geliştiriyorsunuz ve kodunuzu bir Linux ortamında yazabiliyorsunuz. Daha sonra Rhohub'da ( GitHub aracılığıyla ) kodu eklediğiniz bir hesap oluşturabilirsiniz ve bu, iPhone, Blackberry, Android, Windows Mobile ve Symbian için hepsini aynı koddan derlemenizi sağlar. İPhone için Objective-C veya Android için Java, vb kodlamak zorunda değilsiniz. Bu sizin için dönüşümleri yapar. Tek yapmanız gereken bir iPhone uygulaması (veya geliştirmek istediğiniz Telefon) oluşturmak için Kurallara bağlı kalmaktır, böylece iTunes'da (veya eşdeğer pazarda) kabul edilebilir.
Bu, uygulamayı iTunes'a da eklemenizi sağlar.
Bununla birlikte, herhangi bir emülatör bulamadım, yani uygulamanızı test etmek için bir görev olan bir iPhone'a koymanız gerekir.
Bu seçeneği tüm telefonlar için uygulama oluşturmak istediğim için kullanıyorum ve Ruby on Rails'i zaten kullanıyorum. Sadece bir iPhone için uygulama yapmak istiyorsanız, Mac'e yatırım yapın.
Bu yardımcı olur umarım.
Haklısın jailbreak yapmayan telefonlar Apple'ın App store'u ile sınırlıdır ve Apple "hangi kuralı uygularsa uygula" hakkına sahiptir, tamamen özgür olmayan bir bölgedir. Ancak gelişirken, Apple ile hiç uğraşmak zorunda kalmayacak. Kodu cihaza yüklemek ve test etmek için örneğin rsync kullanabilirsiniz.
Belli bir dereceye kadar, evet, mümkün. Objective-C kodu yazabilir ve projelerinizi kurabilirsiniz. Kodunuzun C ve C ++ bölümlerini gcc ile bile test edebilirsiniz.
Neyi yapamazsın:
Bunun için mac almanız gerekiyor. Windows'da i Phone uygulamaları yazmanıza ve oluşturmanıza olanak tanıyan çeşitli araç zincirleri (win-chain gibi) vardır. Windows'ta Objective C kodu oluşturmak için birkaç ilişkili öğretici vardır. Ancak bir sorun var, bu nedenle geliştirilen uygulamalar sadece Jail broken i Phones üzerinde çalışacak.
Bunu aşmak ve App Store'a ulaşmak için birkaç hack gördük, ancak Apple SDK'ları güncellemeye devam ederken, araç zincirlerinin düzenli güncellemelere ihtiyacı var. Bu her zaman telafi etmek için bir güçlük. Hazır app almak istiyorsanız, aynı zamanda lansman uygulamaları makul bir fiyata başlattı yardım alabilirsiniz. iphone uygulama geliştirme
Cocos2d tabanlı oyun geliştirebilmeniz için cocos2d-iphone'u GNUstep'e taşımaya çalıştım . Ancak yayınlamak için bir Mac'e ihtiyacınız var. cocos2d-GNUstep .
Bir mac almanızı tavsiye ederim çünkü ios simülatörü bir uygulamanın ilk aşamalarında test etmek için şaşırtıcıdır. Ama birlikte çalıştığımız Unity kullanarak gelişen küçük bir şirket olduğunu biliyorum, böylece bir sürü mac'a ihtiyaç duymuyorlar. Bu şekilde ofis için sadece bir mac'a ihtiyaçları var ve bu sadece son yapıyı derlemek için. Ayrıca android üzerinde çalıştığı anlamına gelir, ancak gerçekten bir oyun motoru olduğu için binanıza bağlıdır. Sencha Touch Mobile gibi çerçeveleri kullanarak web uygulamalarına bakmak isteyebilirsiniz
Birlik: http://unity3d.com/ Sencha Dokunma: http://www.sencha.com/products/touch/
Zamanınıza değer veriyorsanız, bir Mac satın alın! Uygun bir çözüm sunmak için Linux geliştirme seçenekleri hakkında yeterince bilgim yok, ancak önerilen yöntemler bazı oldukça dolambaçlı çalışmalar içeriyor gibi görünüyor. İPhone uygulamalarını ciddi bir şekilde yazmayı ve satmayı planlıyorsanız, bir Mac Mini veya Macbook'un maliyetini kolayca telafi edebileceğinizi düşünüyorum. :-)
Xcode kullanılarak geliştirilmediyse uygulamanızı Apple tarafından asla onaylamazsınız. Asla. Ve SDK'nın Linux üzerinde gelişmesi için hack yaparsanız ve Apple öğrenirse, servis yaptığınızda şaşırmayın. ADC ve iPhone geliştirici programının üyesiyim. Güven, Apple bu konuda ÇOK ciddidir.
Risk almayın, bir Macbook veya Mac mini satın alın (evet, bir mini Xcode'u çalıştırabilir - yavaşça olsa da - mini ile giderseniz RAM'i yükseltin). Ayrıca, OS X'in VMware üzerinde çalıştırılmasını hacklerken, VM'de Xcode çalıştıran birini hiç görmedim. Çok iyi şanslar. Ve beladan önce EULA'yı kontrol ederim.
Not: Yukarıdakileri okuduktan sonra, evet, katılıyorum SDK'yı hack ederseniz ve Linux'ta geliştirirseniz, en azından Mac'te son ambalajı yapın. Ve Mac ile gönderin. Apple kod satır satır çalışmaz bu yüzden onlar bunu yakalamak şüpheliyim. Ama adamım, bu çok fazla ve işe yarar. Yine de eğlenceli olun. :)