2010-06-08 11 views
12

Dlaczego stare SDK zostały usunięte podczas instalowania nowej wersji xcode z nowym pakietem SDK Iphone? Teraz mamy v4, jakie ustawienia muszę wprowadzić, aby aplikacje nadal działały z 3.x?Starsze SDK zniknęły po zainstalowaniu nowej wersji Xcode

Dzięki

+0

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. –

Odpowiedz

7

Ustaw Base SDK na 4.0 i Deployment Target na 3.x. Lub, w nowoczesnych warunkach, Base SDK do najnowszego i docelowego wdrożenia na wszystko, czego potrzebujesz.

1

3.2.3 Ostatnia beta usunęła wszystkie inne przyczyny SDK, ponieważ wiele osób próbowało opublikować aplikacje opracowane za pomocą beta SDK, które nie będą akceptowane. Chyba GM robi nadal ten sam

Jeśli chcesz się rozwijać na 4.0,3.2 i 3.0 (plus 3.0,3.1,3.1.2,3.1.3) wykonać następujące

  • sudo/programista/Library/uninstall-devtools -mode = all (To odinstaluje bieżącą instalację XCode)
  • Następnie zainstaluj pierwszy stary XCode (3.2 końcowy) w domyślnym folderze (/ Developer)
  • Następnie zainstaluj nowy XCode (3.2.3 GM) w innym folderze (/ DeveloperBeta)
  • W ten sposób będziesz mieć obie. A może uruchomić Xcode z obu /Developer/Applications/Xcode.app lub /DeveloperBeta/Applications/Xcode.app
+0

To nie jest konieczne. Możesz opracować dla wszystkich wersji systemu operacyjnego zestaw Base SDK ustawiony na 4.0 i zestaw docelowy wdrożenia na te inne wersje. – user342492

+1

Masz rację, tak jak powiedział Zoul. Ale czy otrzymujesz wszystkie ostrzeżenia/błędy, jeśli używasz f.e. MPMoviePlayerViewController, który nie jest dostępny w pakietach SDK poniżej wersji 3.2 z pakietem SDK ustawionym na 4.0 i innym celem wdrożenia? Wolę je mieć zamiast sprawdzać dostępność i takie tam. – Allisone

3

Jeśli masz kopie zapasowe systemu z czymś jak Time Machine (i lepiej!) Można kopiować starsze pakiety SDK z kopii zapasowej znajdującej się w /Developer/Platforms/iPhoneOS.platform/Developer/SDKs i /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs - po prostu zrestartuj XCode i gotowe.

7

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.

  1. 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.

  2. 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".

3

Jeśli problem nadal występuje po ustawieniu docelowego wdrożenia co najmniej tak małego, jak żądany pakiet SDK, musisz pobrać ten pakiet SDK. Na szczęście, Xcode pomaga nam tutaj również:

  • wygląd po selektora Simulator w lewym górnym rogu i wybierz Więcej Xcode symulatorach. otworzy się strona jak poniżej:

Download SDK view

  • wystarczy wybrać SDK trzeba przetestować aplikację przeciw.
Powiązane problemy