close
Przejdź do zawartości

iOS SDK

Z Wikipedii, wolnej encyklopedii
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[1][2] (stan aktualny dla „iOS & iPadOS 26 SDK” i Xcode 26)[3][4].

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)[1].

Historia

[edytuj | edytuj kod]

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[5]. Krytyka ze strony środowiska deweloperskiego skłoniła jednak firmę do zmiany stanowiska[5] a 17 października 2007 roku Jobs zapowiedział udostępnienie zestawu narzędzi programistycznych (SDK) dla twórców do lutego 2008 roku[6][7]. Pierwszą wersję iPhone SDK opublikowano 6 marca 2008 roku[8][9].

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[10]; 8 kwietnia 2008 – betę 3[11]; 23 kwietnia 2008 – betę 4, która dodawała m.in. wsparcie OpenGL ES w symulatorze iPhone’a/iPoda touch[12]; 6 maja 2008 – betę 5[13]; 29 maja 2008 – betę 6 (m.in. opisywaną w kontekście odniesień do „Mac OS 10.6”)[14]; 9 czerwca 2008 – betę 7 (w okresie konferencji WWDC)[15]; oraz 26 czerwca 2008 – betę 8, publikowaną w przygotowaniach do uruchomienia App Store[16].

App Store uruchomiono w lipcu 2008 roku (w komunikatach Apple pojawia się data 10 lipca 2008, a także 11 lipca 2008)[17][18].

27 stycznia 2010 Apple udostępniło iPhone SDK 3.2 beta przeznaczone do tworzenia aplikacji dla iPada[19]. 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)[20][21]. 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[22].

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[23]. 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ą[24]. 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[25].

Zawartość i funkcje

[edytuj | edytuj kod]

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[1]. 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))[1]. 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[2].

Wczesne opisy SDK wyróżniały m.in. następujące grupy komponentów[2]:

SDK zawiera także symulator iPhone’a, program służący do odtwarzania wyglądu i zachowania urządzenia na komputerze dewelopera[2].

W praktyce nowe wersje SDK są publikowane wraz z kolejnymi wydaniami systemów mobilnych Apple i kolejnymi wersjami Xcode[26][27].

Języki programowania

[edytuj | edytuj kod]

iOS SDK umożliwia tworzenie aplikacji w oficjalnie wspieranych przez Apple językach, takich jak Swift i Objective-C[28]. Pliki z rozszerzeniem .ipa są archiwami aplikacji iOS dystrybuowanymi m.in. przez App Store[29].

W 2008 roku Sun Microsystems zapowiedziało prace nad JVM dla iPhone’a/iPoda touch, opartą na Java ME[30]. 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[31]. Doniesienia prasowe opisywały też rozmowy Apple–Sun dotyczące tej kwestii[32][33]. W tym okresie wskazywano również na możliwość sprzętowego wsparcia wykonania Javy (Jazelle(inne języki)) na procesorze iPhone’a[34].

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)[35]. 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ł RoboVMkompilator AOT bajtkodu JVM do kodu maszynowego (z użyciem LLVM), opisywany jako zgodny z wymaganiami Apple[36][37]. RoboVM po przejęciu (Xamarin) zostało zamknięte jako projekt open source[38] a następnie ogłoszono jego wygaszanie po stronie Microsoftu/Xamarin[39].

W miejsce RoboVM funkcjonują forki/pochodne utrzymujące podejście AOT (kompilacja bajtkodu JVM do natywnego binarium iOS)[40].

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”[41].

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[42]. 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[43]. 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[44].

Rolę następcy dla rozwoju aplikacji iOS w językach .NET pełnią obecnie: .NET for iOS i .NET MAUI[45][46][47].

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[48].

Flash / Adobe AIR

[edytuj | edytuj kod]

iOS nie wspiera Flasha[49]. 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[50][51]. 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)[52][53].

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[54][55], 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[56][57].

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)[58]. HARMAN prowadzi dystrybucję i wsparcie AIR SDK (w tym dla iOS)[59].

Polityka Apple wobec narzędzi zewnętrznych

[edytuj | edytuj kod]

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)[60][61]. W kolejnych miesiącach opisywano reakcję rynku i możliwe zainteresowanie organów antymonopolowych w USA[62]. 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[63][64].

Wytyczne Apple wydanie: 2025-06-09 wskazują, że:

  • aplikacje powinny działać w aktualnie oferowanym systemie i nie powinny korzystać z przestarzałych/opcjonalnie instalowanych technologii (podany przykład: „Java”)[65.1]
  • aplikacje nie mogą pobierać, instalować ani wykonywać kodu, który wprowadza lub zmienia cechy/funkcjonalność aplikacji (z wąskim wyjątkiem edukacyjnym)[65.2].

Mac Catalyst

[edytuj | edytuj kod]

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[66]. 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)[67][68]. Wsparcie dla Mac Catalyst zostało dodane do narzędzi Apple wraz z Xcode 11 (okres premiery macOS Catalina)[69]. 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[70].

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)[71][72].

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  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

[edytuj | edytuj kod]