Dağıtım hedefi ne anlama geliyor?


107

bu çok basit bir soru olduğunu varsayıyorum. Birisi bana dağıtım hedefinin ne anlama geldiğini söyleyebilir mi? IOS 10'u seçersem, bu yalnızca iOS 10 kullanan kullanıcıların uygulamayı indirebileceği anlamına mı geliyor? Daha düşük bir dağıtım hedefi seçmek kötü mü? AYRICA, dağıtım hedefine devam etmek, daha düşük bir dağıtım hedefinde çalıştırılması önerilmez.



Yanıtlar:


150

Diyelim ki iOS 9 için minimum dağıtım hedefi belirlediniz. Bu, uygulamanızın iOS 9 ve üzeri cihazlar için uyumlu olduğu anlamına gelir .

Uygulama 9.0'ın altındaki cihazlarda çalışmaz ancak iOS 9.0'dan daha yüksek herhangi bir iOS sürümünde çalışabilir .


Daha düşük sürüme sahip kullanıcı uygulamayı en azından uygulama mağazasında görmeye devam edebilir mi?
Sagrian

2
@Sagrian Evet yapabilirler, ancak onlara cihazlarının işletim sistemi ile uyumlu olmadığını gösterecek
FreakyAli

Dağıtım hedefi ile bilgi arasındaki fark nedir? Xcode, 2 yerde bir ios sürümü seçelim.
Daniel Springer

@DanielSpringer Ayarı, Deployment Targetsonuçta Info.plist'i değiştirir. Xcode 4.x'ten sonra eklenen (muhtemelen) uygun bir yoldur
Naveed Abbas

@NaveedAbbas Üzgünüm ama nasıl cevap verdiğini anlamıyorum. Neden iki yer? Her biri ne için?
Daniel Springer

19

Dağıtım hedefi, uygulamanızın eski iOS sürümlerinde çalışabilme yeteneğini belirler.

App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.

Yeni bir iOS sürümü çıktığında, bazı kişiler cihazlarını en son iOS sürümüne güncelleme zahmetine girmez ve bu nedenle onlar da olur can't download your app from the App Store.

Misal

Daha yüksek dağıtım hedefini seçerseniz (e.g 12.1), uygulamanız en son cihazlara sahip olan ancak daha eski iOS sürümüne (11.0 ile iPhone X) sahip kişiler için indirilemez. Karşıtlıkta Olası en düşük dağıtım hedefini seçerseniz (e.g 6.0), uygulamanızı geriye dönük olarak maksimum uyumlu hale getirmeye çalışırsınız (böylece, birisi iOS'unu çağlar içinde güncellememiş olsa bile uygulamanızı indirebilir).

DİKKAT

Daha düşük iOS sürümlerinde birçok (hemen hemen tüm) yeni çerçeve ve özellik düzgün çalışmayacaktır (beklendiği gibi davranarak), bu da uygulamanın çökme olasılığını artırır.

Dağıtım Hedefini Ne Etkiler?

Aşağıda, daha yüksek dağıtım hedefi gerektiren birkaç faktör bulunmaktadır.

1) En son iOS SDK kullanarak (tek başına)

2) En son iOS SDK'ya özgü özellikleri kullanma (Kısıtlamalar, daha yeni XIB dosyaları vb.).

3) Hızlı uyarlanan harici kitaplıkları / Çerçeveleri kullanma (ör. Facebook SDK, Firebase vb.).

4) Daha Yüksek Swift Sürümü (5.0), uygulamanızı eski Objective C ile yazmak yerine daha yüksek dağıtım hedefi gerektirir) !Needs citation.

ÇÖZÜM

Maksimum geriye dönük destek için Deploymate kullanıyoruz . Esas olarak aşağıdakileri uyarmamıza yardımcı olur:

1) Daha düşük iOS sürümlerinde çalışmayacak daha yeni API'ler

2) Daha yeni iOS sürümlerinde çalışmayacak, kullanımdan kaldırılmış yöntemleri kullanmak.

Bu, kodunuzu maksimum uyumluluk için daha düşük iOS sürümlerinde kullanılabilir hale getirmek için düzeltmeye başladığınız zamandır.

Not: Xcode ayrıca birkaç tuzak hakkında bilgi verir. Deploymate, bizimle ortak değildir veya bize herhangi bir şekilde ödeme yapmaz. Diğer alternatifleri arayabilirsiniz.


1

Deployment TargetBir olan asgari sizin hedef tarafından desteklenen iOS sürümü.

Demek oluyor:

  • bir geliştirici olarak bu sürümü destekliyorsunuz ve sonraki tüm uyumluluğu destekleyebileceksiniz
  • bir kullanıcı için en azından bu iOS sürümüne sahip olmanız gerekir

Xcode 11.5'te değiştirmek için

Build Settings -> iOS Deployment Target

-4

Xcode'da yeniyseniz, varsayılanı kabul etmenizi ve bunu projeniz için bir kısıtlama olarak düşünmenizi öneririm.

Daha yeni Xcode sürümleri ortaya çıktıkça, daha eski hedef değerler için destek kaldırılacaktır. Geniş müşteri tabanına sahip şirketler, bu sorunu kendi yöntemleriyle ele almak zorundadır.

Üzerinde çalıştığım projelerin çoğunda iOS sürümü önemlidir çünkü uygulamanızı hangi cihazların çalıştırabileceğini belirler.

Örneğin, iOS 10 aslında tüm iPod tarzı konektörlerin arkasında kaldı.


1
olumsuz oylar, ancak yorum yok ... yararlı değil ... iOS 13 artık Xcode 11 üzerinden çıktığına göre, eski projelerdeki birçok varsayılan hedefin yukarı taşınması gerektiğini ekliyorum.
benc

Olumlu oy verildi: "siperlerden" faydalı bilgiler. Yorum olarak daha uygun olurdu ama yine de.
timmi4sa

Ben biraz daha düşük repliğe sahip bir pragmatist olmayı tercih ederim. Xcode'da yeni olmak sindirilmesi gereken çok şeydir.
benc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.