Xcode / Simulator: Jak uruchomić starszą wersję iOS?


142

Myślę o aktualizacji do iOS SDK 4.2. Zastanawiam się jednak, czy nadal będę mógł uruchomić symulator jako iOS 3.2. Dzieje się tak, ponieważ tworzę reklamy iAd dla iPada, ale nadal chcę sprawdzić, czy mój program będzie działał z systemem iOS 3.2.

Uwaga: w przeszłości widziałem podobny post do tego, ale nie były one zbyt pomocne w podawaniu dokładnych kroków, jak można to zrobić.


1
btw, zadałem to pytanie, zanim faktycznie zainstalowałem SDK 4.2. i dowiedziałem się, że z rozwijanego menu po lewej stronie po prostu podaje stare wersje.
foreyez

Oto bardzo pomocny wątek na ten temat, szczególnie dla użytkowników Xcode 4 w systemie OS X Lion: stackoverflow.com/questions/7459399/ ...
styczeń

Odpowiedzi:


24

Jeśli masz iAds w swoim pliku binarnym, nie będziesz mógł go uruchomić na niczym przed iOS 4.0 i zostanie odrzucony, jeśli spróbujesz przesłać taki plik binarny.

Po uaktualnieniu nadal możesz uruchomić symulator od wersji 3.2.

W symulatorze iPhone'a spróbuj wybrać Sprzęt -> Wersja -> 3.2


iOS 3.0 nie jest zawarty w pakiecie SDK iOS 4.2, tylko iOS 3.2+.
Julio Gorgé

Przepraszam, pracuję na 4.1, gdzie możesz ustawić cel wdrożenia na 3.0.
ingh.am

Julio 3.2 jest wystarczająco dobre, ale jak uruchomię symulator jako iOS 3.2 (na iPada), czy nie daje mi on opcji tylko dla 4.2?
foreyez

Jeśli chodzi o słabe linkowanie, czy to nadal będzie instalować się na starszym urządzeniu? Próbowałem jakiś czas temu i doszedłem do wniosku (podobnie jak inni), że jeśli chcesz iAds, musisz mieć minimum 4.0.
ingh.am

W symulatorze: Sprzęt -> Wersja -> 3.2. Myślę, że możesz to również ustawić w ustawieniach kompilacji.
ingh.am

409

Każdy, kto znajdzie to starsze pytanie, może teraz pobrać wszystkie starsze wersje.

Xcode-> Preferences-> Components(Kliknij kartę Symulatory).

Zainstaluj wszystkie wersje, które chcesz / potrzebujesz.

Aby wyświetlić wszystkie zainstalowane symulatory:

Cel -> W rozwijanym menu „miejsce docelowe wdrożenia” wybierz zainstalowaną wersję z najniższym numerem wersji.

Powinieneś teraz zobaczyć wszystkie dostępne symulatory w menu.


Czy musisz zainstalować wszystkie wersje, czy tylko te, których potrzebujesz?
Aram Kocharyan

Możesz wybrać żądane wersje.
t.mikael.d

Dzięki za upvote - chodzi o to, że pierwotne pytanie dotyczy starych wersji xCode, w których zarządzanie wieloma wersjami było niedostępne.
t.mikael.d

2
Korzystając z najnowszego Xcode na dzień dzisiejszy 5.1.1 - w Symulatorze można teraz używać tylko wersji 6.1 i 7.1. (8.0 jest w wersji beta)
t.mikael.d

2
@foreyez Właściwie to powinna być teraz akceptowana odpowiedź.
kevinSpaceyIsKeyserSöze

48

XCODE 10.1

1. Idź do Xcode -> Preferencje (skrót CMD,)

2. Wybierz składniki

3. Pobierz wersję symulatora

wprowadź opis obrazu tutaj

4. XCode -> Open Developer Tool -> Simulator Spowoduje to uruchomienie Symulatora jako samodzielnej aplikacji

5 Sprzęt -> Urządzenie -> Zarządzaj urządzeniami ...

6. Kliknij + iCon, aby utworzyć nową wersję symulatora.

7. Określ nazwę symulatora, typ urządzenia i wybierz wersję systemu operacyjnego z listy rozwijanej.

wprowadź opis obrazu tutaj

8. Kliknij Utwórz.

9. Sprzęt -> Urządzenie -> iOS 11.0 -> iPhone 6

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

Ciesz się kodowaniem!


1
To jest obecnie najlepsza odpowiedź. Dzięki.
Nathan Hosselton,

1
Menu symulatora uległo zmianie w XCode 11.4. Teraz jest Plik -> Otwórz urządzenie -> (żądany system operacyjny) -> (żądany symulator)
jameseronious

13

Otwórz xcode iw górnym menu przejdź do xcode > Preferencje > Pobieranie, a będziesz mieć możliwość pobrania starych pakietów SDK do użytku z xcode. Możesz także pobrać narzędzia wiersza poleceń i obsługę debugowania urządzeń.

wprowadź opis obrazu tutaj


1
Pytanie dotyczyło tego, jak biegać .
Piotr Aleksander Chmielowski

8

W XCode w obszarze Cele kliknij prawym przyciskiem myszy projekt i Pobierz informacje . Na karcie Kompilacja poszukaj miejsca docelowego wdrożenia systemu iOS. Zmieniając to, powinieneś być w stanie przetestować inną wersję iOS.

tekst alternatywny


3
uwaga: ta odpowiedź brzmi, jak umożliwić uruchamianie aplikacji na starszej wersji systemu iOS. ale chciałem wiedzieć, jak symulować starszą wersję.
foreyez

Zmieniając to, XCode powinno dać ci teraz opcję uruchomienia symulatora w starszej wersji w lewym górnym menu rozwijanym. Nie widzisz tego?
Steve

1
Wypróbowałem to w Xcode 4.2 z zainstalowanym zestawem SDK symulatora iOS 4.0-4.1, nie wyświetlając niczego oprócz 5 na liście rozwijanej w lewym górnym rogu ...
Aram Kocharyan,

8

Aby dodać poprzedni symulator iOS do Xcode 4.2, potrzebujesz starego pliku instalatora xcode_3.2.6_and_ios_sdk_4.3.dmg (lub podobnej wersji) i wykonaj następujące czynności:

  • Zamontuj plik xcode_3.2.6_and_ios_sdk_4.3.dmg
  • Otwórz obraz dysku montażowego i wybierz menu: Idź-> Idź do folderu ...
  • Wpisz / Volumes / Xcode i iOS SDK / Packages /, a następnie kliknij przycisk Go. Istnieje wiele pakietów i znajdź plik iPhoneSimulatorSDK (wersja) .pkg
  • Kliknij dwukrotnie, aby zainstalować pakiet, który chcesz dodać, i poczekaj na wyświetlenie instalatora.
  • W Instalatorze kliknij Kontynuuj i wybierz miejsce docelowe, Wybierz folder ...
  • Eksplorator pokazuje i wybierz folder dewelopera i kliknij Wybierz
  • Zainstaluj i powtórz z innym symulatorem, jeśli potrzebujesz.
  • Uruchom ponownie Xcode.

Teraz jest lista zainstalowanego symulatora.


Symulator iPada 3.2 jest teraz dostępny do wyboru w Xcode, ale symulator nie chce się z nim uruchomić: „iOS nie mógł znaleźć SDK. SDK może wymagać ponownej instalacji”.
brotherli

Brzmi jak jedyna możliwa opcja, która pozostała teraz, gdy Xcode 4.2 (który zainstalowałem na starszym komputerze z systemem Snow Leopard tylko po to, aby móc odzyskać symulator po uaktualnieniu mojego głównego komputera do Mountain Lion i odkryciu, że nie może on uruchomić symulatora iOS 4.2) odmawia pobrania symulatora iOS 4.2 ze strony pobierania (chociaż tam jest wymieniony, nic się nie dzieje po kliknięciu przycisku pobierania, prawdopodobnie dlatego, że Apple wyciągnął wtyczkę). Czy ktoś odniósł sukces stosując tę ​​metodę?
Clafou

2

Wybór starszych wersji symulatora nie jest oczywisty w Xcode 3.2.5. Starsze Xcodes miały osobne listy „iOS Device SDK” i „iOS Simulator SDK” w wyskakującym menu ustawień kompilacji „Base SDK”, ale w Xcode 3.2.5 zostały one zastąpione pojedynczą listą „iOS SDK”, która oferuje tylko 4.2 i „najnowsze”.

Jeśli utworzysz nowy domyślny projekt iOS, będzie on domyślnie ustawiony na 4.2 dla podstawowego zestawu SDK i celu wdrożenia, a w wyskakującym okienku „Przegląd” w lewym górnym rogu projektu będzie dostępny tylko symulator 4.2.

Aby uruchomić starszy symulator systemu iOS, należy wybrać starszą wersję systemu iOS w wyskakującym okienku ustawień kompilacji „Miejsce docelowe wdrożenia systemu iOS”. Dopiero wtedy wyskakujące okienko „Przegląd” będzie oferować starsze symulatory: z powrotem do 4.0 dla iPhone'a i do 3.2 dla iPada.


-4

Symulatora NIE MOŻNA pobrać z:

Xcode -> Preferencje -> Pobieranie

Tylko symbole urządzeń iOS. Jak mówi ta opcja:

Ten pakiet zawiera informacje i symbole, których Xcode potrzebuje do debugowania aplikacji na urządzeniach z systemem iOS w wersjach wcześniejszych niż iOS 4.2. Jeśli zamierzasz debugować aplikację na urządzeniu z jedną z tych wersji systemu iOS, zainstaluj ten pakiet.

Oznacza to, że potrzebujesz urządzenia iOS 4.2, aby przetestować aplikację iOS 4.2


Hmm. Mój XCode 4.2 mówi, że pobierz „Symulator iOS 4.3”. Czy to nie symulator !? :-)
Christer Nordvik

2
Mój mówi to samo, „Symulator iOS 4.3” (plus dwa pliki do pobrania debugowania urządzeń). Jednak żadne z tych pobrań nic nie robi. Naciskam instaluj i wszystkie / wszystkie siedzą na 0%, nie pobierając niczego. Zostawiłem Maca samego na cały dzień i nadal tam siedział na 0% nic nie robiąc.
DiggyJohn

-1. To zdecydowanie działa i pobiera rzeczywisty symulator.
yuji
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.