| Autor | Apple |
|---|---|
| Pierwsze wydanie | 6 marca 2008(dts) |
| Platforma sprzętowa | komputery Mac |
| System operacyjny | macOS |
| Rodzaj | zestaw narzędzi programistycznych (SDK) |
| Licencja | własnościowa |
| Strona internetowa | |
iOS SDK (ang. iOS Software Development Kit; wcześniej iPhone SDK) – zestaw narzędzi programistycznych (SDK) opracowywany przez Apple do tworzenia aplikacji dla systemów iOS i iPadOS. iOS SDK jest dystrybuowany w ramach środowiska Xcode dla macOS i obejmuje m.in. biblioteki, frameworki, narzędzia developerskie oraz symulator urządzeń iPhone/iPad (stan aktualny dla „iOS & iPadOS 26 SDK” i Xcode 26).
Do testowania aplikacji na urządzeniach, uzyskiwania wsparcia technicznego oraz dystrybucji w App Store wykorzystywany jest system kont i narzędzi Apple dla deweloperów (m.in. płatny program dla wydawców aplikacji).
Podczas prac nad iPhone’em, jeszcze przed jego premierą w 2007 roku, ówczesny dyrektor generalny Apple Steve Jobs nie planował udostępniać zewnętrznym twórcom możliwości budowania natywnych aplikacji dla iOS; zachęcał ich zamiast tego do tworzenia aplikacji internetowych działających w przeglądarce Safari. Krytyka ze strony środowiska deweloperskiego skłoniła jednak firmę do zmiany stanowiska a 17 października 2007 roku Jobs zapowiedział udostępnienie zestawu narzędzi programistycznych (SDK) dla twórców do lutego 2008 roku. Pierwszą wersję iPhone SDK opublikowano 6 marca 2008 roku.
W kolejnych miesiącach 2008 roku Apple udostępniało następujące wydania beta SDK (powiązane z iPhone OS 2.0): 27 marca 2008 opublikowano betę 2, m.in. z narzędziem Interface Builder do projektowania interfejsu użytkownika; 8 kwietnia 2008 – betę 3; 23 kwietnia 2008 – betę 4, która dodawała m.in. wsparcie OpenGL ES w symulatorze iPhone’a/iPoda touch; 6 maja 2008 – betę 5; 29 maja 2008 – betę 6 (m.in. opisywaną w kontekście odniesień do „Mac OS 10.6”); 9 czerwca 2008 – betę 7 (w okresie konferencji WWDC); oraz 26 czerwca 2008 – betę 8, publikowaną w przygotowaniach do uruchomienia App Store.
App Store uruchomiono w lipcu 2008 roku (w komunikatach Apple pojawia się data 10 lipca 2008, a także 11 lipca 2008).
27 stycznia 2010 Apple udostępniło iPhone SDK 3.2 beta przeznaczone do tworzenia aplikacji dla iPada. Po wydaniu iPhone SDK 3.2 (dla iPada) Apple udostępniło w kwietniu 2010 wersję beta iPhone OS 4 wraz z iPhone SDK 4, obejmującym ponad 1500 nowych interfejsów API (m.in. w obszarze wielozadaniowości). Podczas konferencji WWDC w czerwcu 2010 r. Apple zaczęło używać nazwy „iOS” (iOS 4), a aktualizacja dla części urządzeń została udostępniona 21 czerwca 2010 roku.
Wśród późniejszych wydarzeń istotnych dla rozwoju SDK wymienia się m.in. publikację iOS 8 SDK (2014), w której Apple podkreślało dodanie ponad 4000 nowych API oraz wprowadzenie języka Swift. W 2019 r. Apple wyodrębniło iPadOS jako osobny system dla iPadów, co wpłynęło na komunikację platform (iOS vs iPadOS) i dokumentację deweloperską. Równolegle (WWDC 2019) zaprezentowano technologię Mac Catalyst, ułatwiającą przenoszenie aplikacji z iPada na macOS; Apple wiązało ją z macOS Catalina i rozwojem narzędzi dla twórców.
iOS SDK jest udostępniany jako bezpłatne do pobrania dla użytkowników komputerów Mac i nie ma natywnej wersji dla Microsoft Windows. Aby testować aplikacje na urządzeniach, uzyskiwać wsparcie techniczne oraz dystrybuować je przez App Store, wymagane jest członkostwo w programie dla deweloperów Apple (Apple Developer Program). W skład SDK wchodzą m.in. frameworki zapewniające dostęp do funkcji systemu i urządzeń (sprzęt, multimedia, sieć), a także symulator urządzeń umożliwiający testowanie aplikacji na komputerze dewelopera.
Wczesne opisy SDK wyróżniały m.in. następujące grupy komponentów:
SDK zawiera także symulator iPhone’a, program służący do odtwarzania wyglądu i zachowania urządzenia na komputerze dewelopera.
W praktyce nowe wersje SDK są publikowane wraz z kolejnymi wydaniami systemów mobilnych Apple i kolejnymi wersjami Xcode.
iOS SDK umożliwia tworzenie aplikacji w oficjalnie wspieranych przez Apple językach, takich jak Swift i Objective-C. Pliki z rozszerzeniem .ipa są archiwami aplikacji iOS dystrybuowanymi m.in. przez App Store.
W 2008 roku Sun Microsystems zapowiedziało prace nad JVM dla iPhone’a/iPoda touch, opartą na Java ME. Komentatorzy wskazywali jednak na ograniczenia w umowie iPhone Developer Agreement, które mogły utrudnić uruchamianie środowisk wykonawczych i pobieranie kodu z zewnętrznych źródeł bez współpracy Apple. Doniesienia prasowe opisywały też rozmowy Apple–Sun dotyczące tej kwestii. W tym okresie wskazywano również na możliwość sprzętowego wsparcia wykonania Javy (Jazelle) na procesorze iPhone’a.
W praktyce kluczową barierą było to, że Apple wymagało dystrybucji aplikacji przez App Store i utrzymywało zasady ograniczające „uruchamianie” dodatkowego kodu w aplikacjach. W 2010 r. szeroko komentowano postanowienia licencyjne/wytyczne w rodzaju: brak możliwości pobierania/instalowania wykonywalnego kodu oraz bardzo ograniczone wyjątki dla kodu interpretowanego (w tym wyjątek dla WebKit/JavaScript). Zamiast systemowej/„oficjalnej” JVM na iOS pojawiły się narzędzia, które pozwalały pisać w językach JVM, ale finalnie budowały natywną aplikację (bez JIT i bez pobierania bajtkodu w trakcie działania). Przykładem był RoboVM – kompilator AOT bajtkodu JVM do kodu maszynowego (z użyciem LLVM), opisywany jako zgodny z wymaganiami Apple. RoboVM po przejęciu (Xamarin) zostało zamknięte jako projekt open source a następnie ogłoszono jego wygaszanie po stronie Microsoftu/Xamarin.
W miejsce RoboVM funkcjonują forki/pochodne utrzymujące podejście AOT (kompilacja bajtkodu JVM do natywnego binarium iOS).
Równolegle istnieją rozwiązania „enterprise” polegające na osadzaniu lekkiej JVM jako biblioteki natywnej w pakiecie aplikacji (np. w narzędziach Oracle dla aplikacji mobilnych), co pokazuje, że technicznie da się dostarczyć runtime Javy *w aplikacji*, ale nie oznacza to istnienia wspieranej przez Apple JVM „w systemie”.
We wrześniu 2009 roku Novell informował o opracowaniu MonoTouch umożliwiającego tworzenie natywnych aplikacji na iPhone’a w języku C# i na platformie .NET. Po premierze MonoTouch było dalej rozwijane już pod marką Xamarin (w tym jako Xamarin.iOS), a w 2016 roku ogłoszono przejęcie Xamarin przez Microsoft. Microsoft zakończył wsparcie dla zestawów SDK Xamarin (w tym Xamarin.iOS/Xamarin.Forms) z dniem 1 maja 2024; jako ostatnie wskazano m.in. narzędzia oparte na Xcode 15 (iOS/iPadOS 17) oraz brak planów dodawania nowych API w ramach Xamarin.
Rolę następcy dla rozwoju aplikacji iOS w językach .NET pełnią obecnie: .NET for iOS i .NET MAUI.
Ze względu na ograniczenia bezpieczeństwa iOS (zakaz uruchamiania dynamicznie generowanego kodu na urządzeniu), aplikacje .NET na iOS korzystają z kompilacji AOT (ahead-of-time) oraz/lub trybów pośrednich przewidzianych dla tej platformy.
iOS nie wspiera Flasha. W 2008 roku relacjonowano stanowisko Apple, według którego pełny Flash był zbyt wolny, a Flash Lite nie spełniał wymagań dla urządzeń mobilnych firmy. W 2009–2010 opisywano też narzędzia Adobe AIR umożliwiające tworzenie aplikacji na iPhone’a z użyciem technologii Flash (w ramach pakietu Creative Suite).
Po sporach wokół wsparcia Flasha na urządzeniach mobilnych Adobe ogłosiło w listopadzie 2011 zakończenie rozwoju wtyczki Flash Player dla mobilnych przeglądarek internetowych, a w kolejnych Flash Player w całości był stopniowo wycofywany. Z końcem 2020 Adobe ogłosiło zakończenie jego życia (EOL); po 31 grudnia 2020 zaprzestano wsparcia i dystrybucji.
Wątek „aplikacji na iPhone’a tworzonych narzędziami Adobe/Flash” w praktyce przesunął się z wtyczki przeglądarkowej na wykorzystanie środowiska Adobe AIR do budowania i pakowania aplikacji mobilnych. Adobe ogłosiło w 2019 przekazanie dalszego rozwoju i utrzymania AIR firmie HARMAN (od połowy 2019). HARMAN prowadzi dystrybucję i wsparcie AIR SDK (w tym dla iOS).
W kwietniu 2010 roku Apple wprowadziło zmiany w umowie dla deweloperów, interpretowane jako ograniczenie możliwości korzystania z narzędzi firm trzecich (m.in. konwerterów aplikacji Flash na aplikacje iOS). W kolejnych miesiącach opisywano reakcję rynku i możliwe zainteresowanie organów antymonopolowych w USA. We wrześniu 2010 roku Apple ogłosiło złagodzenie zasad, dopuszczając ponownie narzędzia firm trzecich w procesie tworzenia aplikacji dla App Store.
Wytyczne Apple wydanie: 2025-06-09 wskazują, że:
Rozwiązanie znane początkowo jako Project Marzipan zostało publicznie zaprezentowane na WWDC 2019 jako Project Catalyst (Mac Catalyst) i służy do ułatwienia przenoszenia aplikacji z iPadOS na macOS. Jest to technologia w ramach UIKit, która pozwala z istniejącej aplikacji na iPadOS zbudować wariant dla macOS (jako aplikację „Mac” kompilowaną i podpisywaną dla macOS, a nie aplikację iOS uruchamianą w emulacji). Wsparcie dla Mac Catalyst zostało dodane do narzędzi Apple wraz z Xcode 11 (okres premiery macOS Catalina). Apple publikuje też zalecenia projektowe (HIG) dla aplikacji budowanych w tym modelu, w tym wskazówki dotyczące dostosowania interfejsu i zachowań do „idiomów” platformy Mac.
Dla aplikacji macOS tworzonych m.in. w Mac Catalyst Apple umożliwiło „universal purchase” (wspólny zakup i wspólne zakupy w aplikacji pomiędzy iOS/iPadOS/macOS i innymi platformami Apple) – przy spełnieniu warunków technicznych (m.in. spójne identyfikatory w App Store Connect).