IOS SDK

iOS SDK
Autor Apple
Pierwsze wydanie 2008-03-06 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).

Historia

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(inne języki) 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(inne języki), 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.

Zawartość i funkcje

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(inne języki)). 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.

Języki programowania

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.

Java

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(inne języki)) 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”.

.NET

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.

Flash / Adobe AIR

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).

Polityka Apple wobec narzędzi zewnętrznych

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:

Mac Catalyst

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).

Zobacz też

Przypisy

  1. 1 2 3 4 Jennifer Guevin, FAQ: what does the iPhone SDK mean? [online], cnet.com, 6 marca 2008 [dostęp 2017-06-11] (ang.).
  2. 1 2 3 4 Arnold Kim, Apple Releases iPhone SDK, Demos Spore, Instant Messaging [online], macrumors.com, 6 marca 2008 [dostęp 2017-06-11] (ang.).
  3. ↑ iOS & iPadOS 26 Release Notes. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  4. ↑ Xcode 26 Release Notes. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  5. 1 2 Jobs' original vision for the iPhone: no third-party native apps. 9to5mac.com, 2011-10-21. [dostęp 2017-06-11]. (ang.).
  6. ↑ Geoff Duncan: Apple confirms iPhone SDK coming next year. digitaltrends.com, 2007-10-17. [dostęp 2017-06-11]. (ang.).
  7. ↑ Steve Jobs confirms native iPhone SDK by February. appleinsider.com, 2007-10-17. [dostęp 2017-06-11]. (ang.).
  8. ↑ Jim Dalrymple: Apple unveils iPhone SDK. macworld.com, 2008-03-06. [dostęp 2017-06-11]. (ang.).
  9. ↑ Ryan Block: Live from Apple's iPhone SDK press conference. engadget.com, 2008-03-06. [dostęp 2017-06-11]. (ang.).
  10. ↑ Jim Dalrymple, Dan Moren: Apple releases iPhone SDK beta 2. macworld.com, 2008-03-27. [dostęp 2026-01-19]. (ang.).
  11. ↑ Apple Seeds New iPhone OS 2.0 Beta (5A240d), SDK Update (Beta 3). macrumors.com, 2008-04-08. [dostęp 2026-01-19]. (ang.).
  12. ↑ Apple Calls for WWDC Developers, Launches iPhone SDK Beta 4. macrumors.com, 2008-04-23. [dostęp 2026-01-19]. (ang.).
  13. ↑ iPhone SDK Beta 5 Released. macrumors.com, 2008-05-06. [dostęp 2026-01-19]. (ang.).
  14. ↑ Mac OS 10.6 Reference In iPhone SDK Beta 6. macrumors.com, 2008-05-29. [dostęp 2026-01-19]. (ang.).
  15. ↑ Apple Releases iPhone SDK Beta 7. macrumors.com, 2008-06-09. [dostęp 2026-01-19]. (ang.).
  16. ↑ Apple Seeds iPhone 2.0 5A345, iTunes 7.7 Beta, SDK 8. macrumors.com, 2008-06-26. [dostęp 2026-01-19]. (ang.).
  17. ↑ App Store kończy 10 lat. apple.com, 2018-07-05. [dostęp 2026-01-19]. (pol.).
  18. ↑ App Store Downloads Top 100 Million Worldwide. apple.com, 2008-09-09. [dostęp 2026-01-19]. (ang.).
  19. ↑ Start Developing iPad Apps Today. developer.apple.com, 2010-01-27. [dostęp 2026-01-19]. (ang.).
  20. ↑ Apple Previews iPhone OS 4. apple.com, 2010-04-08. [dostęp 2026-01-19]. (ang.).
  21. ↑ Download the New iPhone SDK and iPhone OS 4 beta Today. developer.apple.com, 2010-04-09. [dostęp 2026-01-19]. (ang.).
  22. ↑ Apple Presents iPhone 4. apple.com, 2010-06-07. [dostęp 2026-01-19]. (ang.).
  23. ↑ Apple Releases iOS 8 SDK With Over 4,000 New APIs. apple.com, 2014-06-02. [dostęp 2026-01-19]. (ang.).
  24. ↑ The new iPadOS powers unique experiences designed for iPad. apple.com, 2019-06-03. [dostęp 2026-01-19]. (ang.).
  25. ↑ Apple previews macOS Catalina. apple.com, 2019-06-03. [dostęp 2026-01-19]. (ang.).
  26. ↑ Benjamin Mayo: Apple now allowing developers to submit iOS 9, OS X El Capitan and native Watch apps to the App Store. 9to5mac.com, 2015-09-11. [dostęp 2017-06-11]. (ang.).
  27. ↑ Steven Sande: New iOS SDK features for developers. engadget.com, 2013-06-10. [dostęp 2017-06-11]. (ang.).
  28. ↑ Adam Sinicki, Developing for Android vs developing for iOS – in 5 rounds [online], androidauthority.com, 9 czerwca 2016 [dostęp 2017-06-19] (ang.).
  29. ↑ Dystrybucja własnych aplikacji wewnętrznych na urządzeniach Apple [online], Apple Support [dostęp 2026-01-19].
  30. ↑ Paul Krill, Sun: we'll put Java on the iPhone [online], infoworld.com, 7 marca 2008 [dostęp 2017-06-19] (ang.).
  31. ↑ Paul Krill, Sun's plan for Java on iPhone could hit roadblock [online], infoworld.com, 14 marca 2008 [dostęp 2017-06-19] (ang.).
  32. ↑ Apple, Sun talks gives hope for Java on iPhone [online], ibtimes.com, 28 kwietnia 2008 [dostęp 2017-06-19] (ang.).
  33. ↑ Paul Krill, Sun continues pursuit of Java for iPhone [online], macworld.com, 25 kwietnia 2008 [dostęp 2026-01-19] (ang.).
  34. ↑ Ryan Block, iPhone processor found: 620MHz ARM CPU [online], engadget.com, 1 lipca 2007 [dostęp 2017-06-19] (ang.).
  35. ↑ A Taste of What’s New in the Updated App Store License Agreement [online], daringfireball.net, 9 września 2010 [dostęp 2026-01-19] (ang.).
  36. ↑ RoboVM beckons Java 8 programmers to iOS [online], infoworld.com, 20 października 2014 [dostęp 2026-01-19] (ang.).
  37. ↑ RoboVM and the move to the IntelliJ Platform [online], blog.jetbrains.com, 4 października 2015 [dostęp 2026-01-19] (ang.).
  38. ↑ RoboVM Is No Longer Open Source [online], infoq.com, 29 października 2015 [dostęp 2026-01-19] (ang.).
  39. ↑ Tim Anderson, Embrace, extend – and kill. Microsoft discontinues RoboVM [online], theregister.com, 15 kwietnia 2016 [dostęp 2026-01-19] (ang.).
  40. ↑ MobiVM/robovm: Ahead of time compiler for Java bytecode targeting iOS, macOS and Linux [online], github.com [dostęp 2026-01-19].
  41. ↑ Introduction to ADF Mobile [online], docs.oracle.com [dostęp 2026-01-19] (ang.).
  42. ↑ Ryan Paul, MonoTouch drops .NET into Apple's walled app garden [online], arstechnica.com, 15 września 2009 [dostęp 2017-06-19] (ang.).
  43. ↑ Scott Guthrie, Microsoft to acquire Xamarin and empower more developers to build apps on any device, [w:] blogs.microsoft.com [online], Microsoft, 24 lutego 2016 [dostęp 2026-01-19] (ang.).
  44. ↑ The official Xamarin support policy, [w:] dotnet.microsoft.com [online], Microsoft, 1 maja 2024 [dostęp 2026-01-19] (ang.).
  45. ↑ .NET for iOS, tvOS, macOS and Mac Catalyst documentation, [w:] learn.microsoft.com [online], Microsoft [dostęp 2026-01-19] (ang.).
  46. ↑ dotnet/macios: .NET for iOS, Mac Catalyst, macOS, and tvOS SDKs, [w:] github.com [online], Microsoft [dostęp 2026-01-19] (ang.).
  47. ↑ Mobile development with Xamarin, [w:] dotnet.microsoft.com [online], Microsoft [dostęp 2026-01-19] (ang.).
  48. ↑ Mono interpreter on iOS and Mac Catalyst, [w:] learn.microsoft.com [online], Microsoft, 25 października 2024 [dostęp 2026-01-19] (ang.).
  49. ↑ Eric Slivka, Steve Jobs Posts 'Thoughts on Flash' Open Letter [online], macrumors.com, 29 kwietnia 2010 [dostęp 2017-06-20] (ang.).
  50. ↑ Charles Cooper, Adobe bites its tongue after iPhone Flash jab [online], cnet.com, 5 marca 2008 [dostęp 2017-06-20] (ang.).
  51. ↑ Tom Krazit, Adobe realizes SDK not enough for Flash on iPhone [online], cnet.com, 19 marca 2008 [dostęp 2017-06-20] (ang.).
  52. ↑ Jackie Dove, Flash-built apps heading for the iPhone [online], macworld.com, 5 października 2009 [dostęp 2017-06-20] (ang.).
  53. ↑ Jackie Dove, Adobe unleashes Creative Suite 5 [online], macworld.com, 11 kwietnia 2010 [dostęp 2017-06-20] (ang.).
  54. ↑ Charles Arthur, Adobe kills mobile Flash, giving Steve Jobs the last laugh, [w:] theguardian.com [online], The Guardian, 9 listopada 2011 [dostęp 2026-01-19] (ang.).
  55. ↑ Jobs Was Right: Adobe Abandons Mobile Flash, Backs HTML5, [w:] wired.com [online], Wired, 9 listopada 2011 [dostęp 2026-01-19] (ang.).
  56. ↑ Flash & the Future of Interactive Content, [w:] blog.adobe.com [online], Adobe, 25 lipca 2017 [dostęp 2026-01-19] (ang.).
  57. ↑ Adobe Flash Player End of Life, [w:] adobe.com [online], Adobe, 13 stycznia 2021 [dostęp 2026-01-19] (ang.).
  58. ↑ The future of Adobe AIR, [w:] blog.adobe.com [online], Adobe, 30 maja 2019 [dostęp 2026-01-19] (ang.).
  59. ↑ Adobe AIR SDK from HARMAN, [w:] airsdk.harman.com [online], HARMAN [dostęp 2026-01-19] (ang.).
  60. ↑ Brian X. Chen, Adobe Apps: easier to pass through the 'i' of a needle? [online], wired.com, 8 kwietnia 2010 [dostęp 2017-06-20] (ang.).
  61. ↑ Jason Kincaid, Apple gives Adobe the finger with its new iPhone SDK agreement [online], techcrunch.com, 8 kwietnia 2010 [dostęp 2017-06-20] (ang.).
  62. ↑ Jacqui Cheng, Apple iPhone OS compiler policy may lead to antitrust probe [online], arstechnica.com, 3 maja 2010 [dostęp 2017-06-20] (ang.).
  63. ↑ Charles Arthur, Apple opens App Store to programs written in Adobe Flash – and more [online], theguardian.com, 9 września 2010 [dostęp 2017-06-20] (ang.).
  64. ↑ Charlie Sorrell, Apple eases app development rules, Adobe surges [online], wired.com, 9 września 2010 [dostęp 2017-06-20] (ang.).
  65. Wytyczne dotyczące weryfikacji aplikacji (App Review Guidelines) [PDF], Apple Inc., 9 czerwca 2025 [dostęp 2026-01-19] (pol.).
    1. ↑ S. 13.
    2. ↑ S. 14.
  66. ↑ WWDC 2019: Apple's Marzipan is actually called Catalyst [online], cnet.com, 3 czerwca 2019 [dostęp 2019-06-03] (ang.).
  67. ↑ Mac Catalyst. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  68. ↑ Creating a Mac version of your iPad app. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  69. ↑ Xcode 11 Release Notes. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  70. ↑ Mac Catalyst. developer.apple.com. [dostęp 2026-01-19]. (ang.).
  71. ↑ Universal Purchase for Mac Apps Now Available. developer.apple.com, 2020-03-23. [dostęp 2026-01-19]. (ang.).
  72. ↑ Add platforms – Create an app record – App Store Connect. developer.apple.com. [dostęp 2026-01-19]. (ang.).

Linki zewnętrzne