2016-06-28 13 views
25

Jestem nowy w firmie Apple, a wkrótce będę dystrybuować moją aplikację za pośrednictwem AppStore. Teraz używam Swift 3 i domyślnie celem wdrożenia jest system iOS 10.0. Oznacza to, że nie będę w stanie uruchomić go na przykład na iOS 8-9? Bo w Swift 3 używam nowych funcs które nie są dostępne w późniejszym OSKompatybilność z tabletem Swift 3 iOS

Odpowiedz

60

można dokonać aplikacji bieg na iOS 8 & 9 ustawiając docelowy Deployment do jednej z tych wersji. Swift 3.x jest zgodny z systemem iOS 8 i nowszym (nie jestem pewien, ale może być również zgodny z systemem iOS 7). Jedyną różnicą w stosunku do Swift 2.2 (w odniesieniu do wymagań systemowych) jest to, że musisz użyć Xcode 8.

Po ustawieniu docelowego wdrożenia na wcześniejszą wersję niż iOS 10, należy pamiętać, że nie można używać interfejsów API, które są nowość w iOS 10. (z wyjątkiem korzystania z operatora #available) Jednak korzystanie z Swift 3 nie powinno stanowić problemu.

Edit: Teraz można przesyłać aplikacje napisane w Swift 3 używając Xcode 8.0 GM

+2

Ta odpowiedź jest pomocna, ale jestem ciekawy, czy ktoś wie, czy Swift 3 jest kompatybilny z iOS 7? – rtcarlson

+0

@rtcarlson Wcześniejsze wersje były kompatybilne z iOS 7. http://stackoverflow.com/questions/24001778/do-swift- based-applications-work-on-os-x-10-9-ios-7-andlower Myślę więc, że Swift 3 też będzie działał. Ale nie mam możliwości zweryfikowania tego. – FelixSFD

+0

@FelixSFD Jakie są wymagania dotyczące wersji dla systemu operacyjnego, czy napis E ma się dobrze? – vaibhav

5

Należy używać Swift 3.x (jest to najnowsza wersja Swifta od tej odpowiedzi została wysłana).

Wersja na iOS NIE jest powiązana z wersją Swift, której należy użyć, zamiast tego niektóre z nowych udostępnionych apis obsługują minimalną wersję systemu operacyjnego. Ale - nie jest to związane z samym językiem programowania. Na przykład: aplikacja została zbudowana za pomocą Swift 2.x (Deployment Target 9.x) powinna działać na iOS 10; Podczas aktualizacji IDE (xcode), będzie obsługiwać - domyślnie - najnowszą wersję języka programowania -Swift-.

TAKŻE: Można zrobić:

if #available(iOS 10, *) { 
    // use an api that requires the minimum version to be 10 
} else { 
    // use another api 
} 

nadzieję, że to pomogło.