Jak rozumiem, praca z iOS 10 beta wymaga Xcode 8 beta, więc powinienem zaktualizować mój Xcode. Jednak mój kod nie może zostać zbudowany przez nowy kompilator, więc chcę pozostać przy Xcode 7.
@ParagBafna: ale objective-c i swift to języki programowania! Co sprawia, że Xcode jest narzędziem używanym głównie do programowania . To pytanie nie powinno być nigdy zamknięte.
tharkay
W odpowiedzi na zduplikowane pytanie przedstawiono gotowe obrazy dysków, więc nie musisz instalować nowszego Xcode: stackoverflow.com/a/39865199/286361
Vladimir
Odpowiedzi:
197
Musisz użyć DeveloperDiskImage z Xcode 8 Beta. W tym celu wyodrębnij aplikację Xcode 8 Beta i skopiuj DeveloperDiskImage dla iOS 10 do folderu Xcode.
Załóżmy, że wyodrębniasz Xcode do Downloads / Xcode-beta.app
Jeśli to nie zadziała, to po prostu dlatego, że nie ma Xcode_7.2.1.app, to tylko Xcode.app, dziękuję za to!
Markus
4
Wygląda na to, że nie działa z iOS 10 beta 2. Występuje błąd z kAMDMobileImageMounterDeviceLocked. Nie znalazłem jeszcze obejścia.
Jonathan Mitchem
2
Działa dla mnie z beta3
mbo42
1
Czy ktoś ma szczęście z wersją beta 6?
mlevi
4
Jeśli ta odpowiedź nie działa, sprawdź, czy końcowy ciąg w folderze Device Support, np. Wersja (14A5309d) odpowiada wersji na urządzeniu z systemem iOS. Oznacza ziarno beta. Jeśli tak się nie stanie, zaktualizuj Xcode, aby pasował do materiału źródłowego urządzenia z systemem iOS, a następnie postępuj zgodnie z powyższą odpowiedzią.
Hunter Monk
70
Możesz użyć dowolnego zestawu SDK w starszej wersji Xcode, po prostu kopiując i wklejając folder wymaganego systemu operacyjnego. Oczywiście nie możesz też mieć dwóch aplikacji o tej samej nazwie, więc po prostu zmień ich nazwy na Xcode 7 i Xcode 8.
kliknij prawym przyciskiem myszy / kliknij, przytrzymując klawisz Ctrl, ikonę aplikacji Xcode 8, aby wyświetlić zawartość pakietu i przejdź do tej lokalizacji i skopiuj folder iOS 10.0 lub WatchOS 3.0 itp.
Na marginesie, przetwarzanie plików symboli może zająć kilka minut. Korzystam z najnowszego i najlepszego MacBooka Pro i trochę mi to zajmuje. Musiałem odłączyć telefon po pierwszym podłączeniu go do b / c Xcode omyłkowo powiedział, że jest zablokowany. Potem działało świetnie, ale przetwarzanie plików zajęło trochę czasu.
kbpontius
Tak, wspomniałem o tym w moim poście. Twoje zdrowie.
Edison
Musimy obsługiwać iOS 6 i 7, więc użyłem powyższej techniki, aby dodać obsługę wersji 6.0, 6.1, 7.0 i 7.1 do Xcode 8.
iCyberPaul
Dobra odpowiedź @tymac - podążyłem za twoimi krokami, ale nie widzę iOS 10 w celu wdrożenia. Dowolny pomysł?
Tal Zion
@TalZion Nie widzisz wersji na liście rozwijanej, ponieważ musisz upewnić się, że wersja Xcode, której używasz, jest zgodna z wersją na twoim urządzeniu. To jest problem z obrazem dysku SIM.
Edison
25
Dla mnie żadna z powyższych sugestii nie zadziałała.
Zamiast tego przeszedłem do tej lokalizacji (naciśnij CMD + SHIFT + K, aby wstawić poniższą ścieżkę) (przez wyszukiwarkę)
Miły! Jakich wersji Xcode używasz? Wygląda na to, że używasz Xcode i Xcode beta - czy możesz dodać wersję dla obu?
Cullub
1
to rozwiązanie zadziałało dla mnie! Musiałem wrócić do xcode 7.3.1, aby pracować nad starym projektem, który utknął na Swift 2.x <2.3 (z powodu zależności bibliotek innych firm, które nie są kompatybilne z wyższymi wersjami Swift) i mogę teraz budować na moim iPhonie na iOS 10.2, dzięki !!
szklarnia
2
Chociaż kopiowanie folderu zawierającego obraz dysku jest nadal najlepszym sposobem, nie miałem czasu pobrać najnowszego Xcode, aby przejąć folder z obrazem dysku, więc w zasadzie zarchiwizowałem aplikację i wyeksportowałem ją przy użyciu opcji zapisz do wdrożenia, następnie zainstalowałem go na urządzeniu testowym za pomocą aplikacji iTunes.
W moim przypadku mam Xcode 8.0, chcąc zbudować na urządzeniu 10.2.1 iOS.
testowano 12 sierpnia, Xcode w wersji 7.3.1 (7D1014) ORAZ iOS 10.0 (14A5309d) na telefonie iPhone6 Plus.
Zrobiłem łącze symboliczne zgodnie z sugestią (ścieżka jest nieco inna ... patrz poniżej.), Ale działa z linkowaniem do Xcode w wersji 8.0 beta 4 (8S188o).
Dla linku symbolicznego z XCode 8 Beta 5 do Xcode 7:sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5335a\)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
cdf1982,
0
Odpowiedź Tymaca prawie mi pomogła. Zamiast kopiować i przeszukiwać, otworzyłem dwa okna Findera, a następnie przeciągnąłem folder iOS 10 do folderu Xcode 7. Gdy znajdzie się w Xcode 7, otwórz folder i upewnij się, że istnieje plik dmg.
Wcześniej przeciągnąłem kopię folderu obsługi urządzenia iOS 10 na mój pulpit, a następnie skopiowałem ją do folderu Xcode 7. Wydawało się, że to rozpakowało plik dmg, więc Xcode 7 nadal narzekał. Musi być plikiem dmg w folderze.
Jedno ostrzeżenie. Próbowałem użyć XCode 7.3.1 z obrazami ios 10 z XCode 8.1 dla projektu cordova (działa), ale miałem problemy z uprawnieniami do powiadomień push (różne ustawienia dla ios 8/9/10). Nie jestem tego pewien, ale wydaje mi się, że w 7.3.1 brakuje niektórych dyrektyw kompilatora
Czy to faktycznie działa dla Ciebie? Nie mogę dodać symulatora iOS 11 w Xcode 8.
Ortwin Gentz,
@OrtwinGentz Sprawdź, czy możesz uruchomić symulator w Xcode 9 - jeśli działa, powinieneś być w stanie zamknąć Xcode 9 i debugować aplikację na symulatorze z XC 8.
Bryan
Oczywiście mogę uruchomić Symulator w Xcode 9. Ale nie mogę budować za pomocą Xcode 8 (względem zestawu SDK systemu iOS 10) i debugować na symulatorze iOS 11.
Ortwin Gentz
czy ta metoda będzie działać na urządzeniu z Xcode 7.3 i iOS 11?
DHEERAJ
-1
moje dwa centy za Xcode w wersji 11 beta przeciwko Xcode 10 po wwdc2019:
Odpowiedzi:
Musisz użyć DeveloperDiskImage z Xcode 8 Beta. W tym celu wyodrębnij aplikację Xcode 8 Beta i skopiuj DeveloperDiskImage dla iOS 10 do folderu Xcode.
Załóżmy, że wyodrębniasz Xcode do Downloads / Xcode-beta.app
Po skopiowaniu DeveloperDiskImage należy uruchomić Xcode i podłączyć urządzenie iOS do komputera Mac.
Edycja:
przy standardowej instalacji Xcode można utworzyć miękkie łącze:
źródło
kAMDMobileImageMounterDeviceLocked
. Nie znalazłem jeszcze obejścia.Możesz użyć dowolnego zestawu SDK w starszej wersji Xcode, po prostu kopiując i wklejając folder wymaganego systemu operacyjnego. Oczywiście nie możesz też mieć dwóch aplikacji o tej samej nazwie, więc po prostu zmień ich nazwy na Xcode 7 i Xcode 8.
kliknij prawym przyciskiem myszy / kliknij, przytrzymując klawisz Ctrl, ikonę aplikacji Xcode 8, aby wyświetlić zawartość pakietu i przejdź do tej lokalizacji i skopiuj folder iOS 10.0 lub WatchOS 3.0 itp.
Następnie przejdź do tej samej lokalizacji w Xcode 7 i wklej folder.
Zrestartuj Xcode 7. Będziesz musiał trochę poczekać, aż Xcode odbuduje symbole itp.
źródło
Dla mnie żadna z powyższych sugestii nie zadziałała.
Zamiast tego przeszedłem do tej lokalizacji (naciśnij CMD + SHIFT + K, aby wstawić poniższą ścieżkę) (przez wyszukiwarkę)
I skopiowałem
10.0(14A5339a)
folder, który zawiera obraz dysku programisty. Następnie wkleiłem go doEDYCJA: używam Xcode7 (wersja 7.3.1-7D1014), publiczna beta 6 iOS 10 (14A5345a) - jest wydana 19 sierpnia 2016
źródło
Chociaż kopiowanie folderu zawierającego obraz dysku jest nadal najlepszym sposobem, nie miałem czasu pobrać najnowszego Xcode, aby przejąć folder z obrazem dysku, więc w zasadzie zarchiwizowałem aplikację i wyeksportowałem ją przy użyciu opcji zapisz do wdrożenia, następnie zainstalowałem go na urządzeniu testowym za pomocą aplikacji iTunes.
W moim przypadku mam Xcode 8.0, chcąc zbudować na urządzeniu 10.2.1 iOS.
źródło
Pascal && Fanruten mają rację.
testowano 12 sierpnia, Xcode w wersji 7.3.1 (7D1014) ORAZ iOS 10.0 (14A5309d) na telefonie iPhone6 Plus.
Zrobiłem łącze symboliczne zgodnie z sugestią (ścieżka jest nieco inna ... patrz poniżej.), Ale działa z linkowaniem do Xcode w wersji 8.0 beta 4 (8S188o).
tylko dla kompletności:
Beta 4
Beta 5
źródło
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5335a\)/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0
Odpowiedź Tymaca prawie mi pomogła. Zamiast kopiować i przeszukiwać, otworzyłem dwa okna Findera, a następnie przeciągnąłem folder iOS 10 do folderu Xcode 7. Gdy znajdzie się w Xcode 7, otwórz folder i upewnij się, że istnieje plik dmg.
Wcześniej przeciągnąłem kopię folderu obsługi urządzenia iOS 10 na mój pulpit, a następnie skopiowałem ją do folderu Xcode 7. Wydawało się, że to rozpakowało plik dmg, więc Xcode 7 nadal narzekał. Musi być plikiem dmg w folderze.
źródło
Jedno ostrzeżenie. Próbowałem użyć XCode 7.3.1 z obrazami ios 10 z XCode 8.1 dla projektu cordova (działa), ale miałem problemy z uprawnieniami do powiadomień push (różne ustawienia dla ios 8/9/10). Nie jestem tego pewien, ale wydaje mi się, że w 7.3.1 brakuje niektórych dyrektyw kompilatora
źródło
Oto dla XCode 9 i iOS 11 Beta 1:
źródło
moje dwa centy za Xcode w wersji 11 beta przeciwko Xcode 10 po wwdc2019:
ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0
więc mogę używać mojego iPhone'a z iOS 13 beta w Xcode 10.
po ln -s ponownie uruchom Xcode
źródło