2011-10-18 25 views
5

iOS 5 SDK/XCode 4.2 ile geliştirme konusunda bazı iyi bilgileri bulmakta ve eski cihazları - yani iPhone 3G'yi - destekleyebilmekte zorlanıyorum.Eski/yeni iOS aygıtlarının parçalara ayrılmasında gezinme

Esasen iOS geliştirmeye yeni başladım ve iOS 5 SDK kullanan xCode 4.2'yi indirdim. Benim endişe duyduğum şey, uyumluluk test etmek için iPhone 3G'imde bir vanilya yepyeni bir projeyi çalıştırmaya çalışırken bir sorun yığını yaşadım (yani armv6 problem) Apple'ın daha yeni bir donanım için geliştirmemizi istediği oldukça açık. Ancak, eski donanımları hala devam eden uygulamalarımızın kullanıcılarını desteklerken sorumluluk üstleniyoruz. Özellikle de uygulamanızın mümkün olduğu kadar çok elinizde olmasını istiyorsanız. Örneğin, ARC bir tanrı göndermesi gibi ses çıkarır, ancak 4.3'ün altındaki iOS sürümlerinde çalışmayacaktır. Önceden iOS5 cihazında uygulamayı yüklemeye başlayana kadar Storyboard'larla da iyi deneyimlerim oldu.

Tüm iOS aygıtlarını desteklemeye çalışırken en iyi uygulamalar için iyi bir bilgi kaynağı var mı? Bu sadece yeni bir iPhone almanın zamanı geldiğini düşünmek isteyen bir kullanıcı mı? Yoksa sadece uzun kuyruğu kovalayana kadar eski SDK'larla gelişmekte olan bir durum mu? Bu soru zaten uzun kuyruğu takip ediyor mu?

Tarayıcı standartlarının ince bir şekilde parçalanmasını desteklediğini hatırlatır. Diğer insanların düşüncelerini duymak için sabırsızlanıyoruz.

+0

Bu gerçek bir sorundur. En iyisi ve en iyisi Apple'ın önerdiği gibi, her zaman ileri sürmek ve daha eski işletim sistemlerine destek vermek. Bunu kendi uygulamalarında görebilirsiniz. iMovie ve iWork’un hepsi artık yalnızca iOS 5’tir. Buna katılıyorum, çünkü sadece orada milyonlarca eski cihazı destekleyecek para var. Ama bu yüzden bunu kolaylaştırmıyorlar ... umursamıyorlar. Etrafında çalışmanın yolları var, ancak test etmek için cihazları elinizde tutmak ve bunları yükseltmekten kaçınmak zorunda kalacaksınız. Kesinlikle küçük geliştiriciler için gerçek bir yük. –

+0

Kesinlikle. Daha eski cihazların düşüşünü önleyen herhangi bir bilgi kaynağı var mı? – Chris

cevap

2

Daha az bir işletim sistemi sürümü desteklemek için hedefin özet ayarlarında Dağıtım Hedefini azaltabilirsiniz. Uyarı, kodun hala yüklediğiniz en son SDK'ya derlemesidir. Bu, herhangi bir yöntemi çağıramayacağınız veya desteklemek istediğiniz en düşük işletim sistemi sürümünden sonra piyasaya sürülen işlevler kullanamayacağınız anlamına gelir. Eğer OS'nin yeni bir sürümünü çalıştıran cihazlar için yeni yöntemler kullanmaya planlıyorsanız, sen yöntem yalnızca onu destekleyen cihazlarda çalışacak emin olmak için

if ([<class> respondsToSelector:@selector(methodName)] { 

} 

onları çevreleyen gerekir.

+1

Apple'ın benzer tekniklerle ilgili bazı belgeleri http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/cross_development/Using/using.html –

İlgili konular