Chociaż "Zoul" najpełniej odpowiedział na to pytanie, postaram się opracować na dwóch ustawieniach i wskazać przydatne dokumenty, które pomogą innym, którzy są nowi w tej sytuacji.
Podstawowa wersja pakietu SDK: wskazuje wersję pakietu SDK, na podstawie której został skompilowany program. Można to ustawić w "Ustawieniach budowania" dla projektu lub celu. Możesz użyć kodu API firmy Apple w swoim kodzie wprowadzonym do tej wersji, a kompilator pozna wszystkie symbole i skompiluje je bez żadnych problemów.
Miejsce docelowe wdrożenia: Jest to deklaracja ze strony użytkownika dotycząca minimalnej wersji systemu iOS, która powinna zostać zainstalowana na urządzeniu użytkownika w celu uruchomienia kodu. To ustawienie można znaleźć w sekcji "Informacje" dla projektu i sekcji "Podsumowanie" dla określonego celu. Ważną rzeczą jest zrozumienie, że Twój kod nie będzie automatycznie działał płynnie na urządzeniach ze starszymi wersjami systemu iOS, jeśli używasz kodu API wprowadzonego w późniejszej wersji przez Apple. Mogą to być nowe klasy/metody/struktury wprowadzone przez firmę Apple w późniejszej wersji. Musisz upewnić się, pisząc niezbędny kod warunkowy i podać alternatywną ścieżkę kodową, aby z łatwością degradować się dla starszej wersji iOS, która nie ma nowszego API. To do ciebie należy obsługa niezgodności wersji.
Dokumentację Apple na ten temat można znaleźć w "SDK Compatibility Guide".
Aby dowiedzieć się o zmianach w różnych wersjach iOS, należy wpisać "What's new in iOS".
Ten temat omówiono również w "iOS Development Guide" w części "Budowa i działanie aplikacji". Patrz podrozdział "Określanie środowiska wykonawczego".
Wygląda na to, że "jak to naprawić" zostało posortowane. "Dlaczego" jest bardziej skomplikowane, niż myśleliśmy podczas bety, confere: http://stackoverflow.com/questions/3161385. –