2010-10-10 13 views
8

Mam aplikację, która została oryginalnie napisana przy użyciu iOS 3.1 W zeszłym tygodniu zrobiłem aktualizację aplikacji przez iTunes Connect, ale omyłkowo opuściłem "Base SDK" i "Target Deployment Target" dla obu zestawów do 4.1 Teraz planuję ponownie przesłać aplikacji przy użyciu "Base SDK: 4.1" i "IPhone OS Deployment Target: 3.1"Base SDK i iOS Dev Target?

Moje pytanie brzmi: ponieważ obecnie jest zaksięgowane z obu wartościami ustawionymi na 4.1, oznacza to, że aplikacja będzie działać tylko w wersji 4.1, mimo że jestem zgaduję, że będzie działał na czymś później niż 4.1? N/B: aplikacja jest w pełni kompatybilny z 3.1 (czyli jej nie stosując żadnych 4,0 funkcji)

Moje rozumienie tych dwóch opcji jest: „Base SDK” to najnowszy numer wersji iOS, których funkcje można chcieć. "Miejsce wdrożenia systemu operacyjnego iPhone OS" to najstarszy numer wersji systemu iOS obsługiwany przez użytkownika:

+0

możliwy duplikat [iPhone: minimalny system operacyjny, miejsce docelowe wdrażania i podstawowy/aktywny pakiet SDK] (http://stackoverflow.com/questions/1920542/iphone-minimum-os-deployment-target-base-active-sdk) –

Odpowiedz

10

Twoje zrozumienie jest poprawne, dokładnie tak.

Jeśli chodzi o twoje pytanie: oczywiście Twoja aplikacja będzie działać na nowszych wersjach systemu operacyjnego, pod warunkiem, że nie usunie żadnych metod/klas, z których korzystasz. Ale jeśli twoja aplikacja nie korzysta z funkcji 4.0 lub właściwie pyta o ich istnienie przez respondsToSelector:, zdecydowanie ustawiłbym Cel wdrożenia na 3.1, aby uzyskać większą bazę użytkowników. Ale twój SDK bazowa powinna być ustawiona na 4,1

AFAIK nie będzie Zastosowanie Ostatnio SDK opcja dla bazy SDK w nadchodzącym Xcode 4, dzięki czemu nie trzeba się martwić o to przełączyć żadnego więcej podczas uaktualniania Xcode/iOS-SDK.

+0

Dziękuję, po prostu chciałem sprawdzić zanim będę kłopotał Apple z kolejną aktualizacją :) bardzo doceniam. – fuzzygoat