Ціль розгортання визначає здатність вашого додатка працювати на старих версіях iOS.
App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.
Коли виходить нова версія iOS, деякі люди не турбуються оновити свої пристрої до останньої версії iOS, а отже і вони can't download your app from the App Store
.
Приклад
Якщо ви оберете вищу ціль розгортання (e.g 12.1)
, ваш додаток не зможе завантажувати людей, які навіть мають найновіші пристрої, але мають старішу версію iOS (iPhone X з 11.0). У контрасті Якщо ви вибрали найнижчу можливу ціль розгортання (e.g 6.0)
, ви намагаєтесь зробити свою програму максимально зворотно сумісною (тому, навіть якщо хтось не оновлював свою iOS протягом віків, зможе завантажити вашу програму).
ОБЕРЕЖНО
Багато (майже всі) новіші фреймворки та функції не зможуть працювати належним чином (поводитись, як очікувалося) на нижчих версіях iOS, що збільшує ймовірність збоїв додатків.
Що впливає на ціль розгортання
Нижче наведено кілька факторів, що вимагають вищої цілі розгортання.
1) Використання останнього iOS SDK (окремо)
2) Використання останніх специфічних функцій iOS SDK (Обмеження, новіші файли XIB тощо).
3) Використання швидкої адаптації зовнішніх бібліотек / фреймворків (наприклад, Facebook SDK, Firebase тощо).
4) Вища версія Swift (5.0) вимагає вищої цілі розгортання порівняно із написанням програми у застарілій Цілі C) !Needs citation
.
РІШЕННЯ
Ми використовуємо Deploymate для максимальної зворотної підтримки. Це в основному допомагає нам попереджати наступне:
1) Новіші API, які не працюватимуть на нижчих версіях iOS
2) Використання застарілих методів, які не працюватимуть у новіших версіях iOS.
Це коли ви починаєте виправляти свій код, щоб зробити його доступним для нижчих версій iOS для максимальної сумісності.
Примітка: Xcode також повідомляє про кілька підводних каменів. Розміщувач не співпрацює з нами і не платить нам у будь-якій формі. Ви можете шукати інших заступників.