IOS 5-Architektur und SDK-Frameworks

Zurück Inhaltsverzeichnis Weiter
Die Geschichte von iOS Teilnahme am Apple iOS 5 Developer Program

Lernen Sie SwiftUI kennen und bringen Sie Ihre iOS–Entwicklung auf die nächste Stufe
SwiftUI Essentials – iOS 14 Edition Book ist jetzt in den Ausgaben Print (39.99 USD) und eBook (29.99 USD) erhältlich. Erfahren Sie mehr…

 Kaufen DruckenVorschau Buch

Wenn wir Apps für das iPad entwickeln, erlaubt uns Apple keinen direkten Zugriff auf diese Hardware. Tatsächlich findet die gesamte Hardwareinteraktion ausschließlich über eine Reihe verschiedener Softwareschichten statt, die als Vermittler zwischen dem Anwendungscode und der Gerätehardware fungieren. Diese Schichten bilden das sogenannte Betriebssystem. Im Fall des iPad wird dieses Betriebssystem als iOS bezeichnet.

Um die iPad-Entwicklungsumgebung besser zu verstehen, werden in diesem Kapitel die verschiedenen Ebenen des iOS 5-Betriebssystems und die Frameworks, mit denen wir als Entwickler iPad-Anwendungen schreiben können, detailliert beschrieben.

Inhalt

iPhone OS wird iOS

Vor der Veröffentlichung des iPad im Jahr 2010 wurde das auf dem iPhone ausgeführte Betriebssystem allgemein als iPhone OS bezeichnet. Angesichts der Tatsache, dass das für das iPad verwendete Betriebssystem im Wesentlichen das gleiche wie das auf dem iPhone ist, machte es nicht viel Sinn, es iPad OS zu nennen. Stattdessen entschied sich Apple für einen allgemeineren und nicht gerätespezifischen Namen für das Betriebssystem. Angesichts der Vorliebe von Apple für Namen, denen der Buchstabe ‚i‘ vorangestellt ist (iTunes, iBookstore, iMac usw.), war die logische Wahl natürlich iOS. Leider ist iOS auch der Name, den Cisco für das Betriebssystem seiner Router verwendet (Apple scheint auch eine Vorliebe dafür zu haben, Marken zu ignorieren). Wenn Sie eine Internetsuche für iOS durchführen, sollten Sie daher darauf vorbereitet sein, eine große Anzahl von Ergebnissen für Ciscos iOS zu sehen, die absolut nichts mit Apples iOS zu tun haben.

Ein Überblick über die iOS 5-Architektur

Wie bereits erwähnt, besteht iOS aus einer Reihe verschiedener Softwareschichten, von denen jede Programmierframeworks für die Entwicklung von Anwendungen bereitstellt, die auf der zugrunde liegenden Hardware ausgeführt werden.

Diese Betriebssystemschichten können schematisch dargestellt werden, wie in Abbildung 4-1 dargestellt:

 Die Architektur von iOS 5

Abbildung 4-1

Einige Diagramme zur grafischen Darstellung des iOS-Softwarestapels zeigen ein zusätzliches Feld über der Cocoa Touch-Ebene, um die auf dem Gerät ausgeführten Anwendungen anzuzeigen. Im obigen Diagramm haben wir dies nicht getan, da dies darauf hindeutet, dass die einzige für die App verfügbare Schnittstelle Cocoa Touch ist. In der Praxis kann eine App jede der Schichten des Stapels direkt aufrufen, um Aufgaben auf dem physischen Gerät auszuführen.

Allerdings bietet jede Betriebssystemschicht eine zunehmende Abstraktionsebene abseits der Komplexität der Arbeit mit der Hardware. Als iOS-Entwickler sollten Sie daher immer nach Lösungen für Ihre Programmierziele in den Frameworks suchen, die sich in den höheren iOS-Ebenen befinden, bevor Sie Code schreiben, der bis zu den unteren Ebenen reicht. Im Allgemeinen gilt: Je höher die Ebene der Ebene, auf die Sie programmieren, desto weniger Aufwand und weniger Codezeilen müssen Sie schreiben, um Ihr Ziel zu erreichen. Und wie jeder erfahrene Programmierer Ihnen sagen wird, je weniger Code Sie schreiben müssen, desto weniger Möglichkeiten haben Sie, Fehler einzuführen.

Nachdem wir nun die verschiedenen Ebenen identifiziert haben, aus denen iOS 5 besteht, können wir uns die von jeder Ebene bereitgestellten Dienste und die entsprechenden Frameworks, die uns als Anwendungsentwickler diese Dienste zur Verfügung stellen, genauer ansehen.

Die Cocoa Touch-Ebene

Die Cocoa Touch-Ebene befindet sich oben auf dem iOS-Stack und enthält die Frameworks, die von iPad-Anwendungsentwicklern am häufigsten verwendet werden. Cocoa Touch ist hauptsächlich in Objective-C geschrieben, basiert auf der Standard-Mac OS X Cocoa-API (wie auf Apple Desktop- und Laptop-Computern zu finden) und wurde erweitert und modifiziert, um den Anforderungen der iPad-Hardware gerecht zu werden.

Die Cocoa Touch-Ebene bietet die folgenden Frameworks für die Entwicklung von iPad-Apps:

UIKit Framework (UIKit.framework)

Das UIKit-Framework ist eine umfangreiche und funktionsreiche Objective-C-basierte Programmierschnittstelle. Es ist ohne Frage der Rahmen, mit dem Sie die meiste Zeit verbringen werden. Ganze Bücher könnten und werden wahrscheinlich allein über das UIKit-Framework geschrieben. Einige der wichtigsten Funktionen von UIKit sind wie folgt:

  • Erstellung und Verwaltung von Benutzeroberflächen (Textfelder, Schaltflächen, Beschriftungen, Farben, Schriftarten usw.)
  • Application Lifecycle Management
  • Behandlung von Anwendungsereignissen (z. touchscreen-Benutzerinteraktion)
  • Multitasking
  • Drahtloses Drucken
  • Datenschutz durch Verschlüsselung
  • Funktionen zum Ausschneiden, Kopieren und Einfügen
  • Präsentation und Verwaltung von Web- und Textinhalten
  • Datenverarbeitung
  • Anwendungsübergreifende Integration
  • Push-Benachrichtigung in Verbindung mit dem Push-Benachrichtigungsdienst
  • Lokale Benachrichtigungen (ein Mechanismus, mit dem eine im Hintergrund laufende Anwendung die Aufmerksamkeit des Benutzers auf sich ziehen kann)
  • Barrierefreiheit
  • Beschleunigungsmesser, Batterie, Näherungssensor, interaktion zwischen Kamera und Fotobibliothek
  • Touchscreen-Gestenerkennung
  • Dateifreigabe (die Möglichkeit, auf dem Gerät gespeicherte Anwendungsdateien über iTunes verfügbar zu machen)
  • Blue Tooth-basierte Peer-to-Peer-Konnektivität zwischen Geräten
  • Verbindung zu externen Displays

Um ein Gefühl für den Reichtum dieses Frameworks zu bekommen, lohnt es sich, einige Zeit mit dem Durchsuchen von Apples UIKit-Referenzmaterial, das online verfügbar ist unter:

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKit_Framework/index.html

In:Map Kit Framework (MapKit.framework)

Wenn Sie eine nennenswerte Zeit mit einem iPad verbracht haben, müssen Sie die Kartenanwendung wahrscheinlich mehr als einmal verwenden, um entweder eine Karte eines bestimmten Gebiets zu erhalten oder Wegbeschreibungen zu erstellen, um Sie zu Ihrem beabsichtigten Ziel zu bringen. Das Map Kit Framework bietet eine Programmierschnittstelle, mit der Sie kartenbasierte Funktionen in Ihre eigenen Anwendungen integrieren können. Auf diese Weise können Sie unter anderem scrollbare Karten für jeden Ort anzeigen, die Karte entsprechend dem aktuellen geografischen Standort des Geräts anzeigen und die Karte auf verschiedene Arten kommentieren.

Push-Benachrichtigungsdienst

Mit dem Push-Benachrichtigungsdienst können Anwendungen Benutzer über ein Ereignis informieren, auch wenn die Anwendung derzeit nicht auf dem Gerät ausgeführt wird. Seit der Einführung dieses Dienstes wurde es am häufigsten von nachrichtenbasierten Anwendungen verwendet. In der Regel generiert der Dienst bei aktuellen Nachrichten eine Nachricht auf dem Gerät mit der Überschrift und bietet dem Benutzer die Möglichkeit, die entsprechende Nachrichten-App zu laden, um weitere Details zu lesen. Dieser Alarm wird normalerweise von einem akustischen Alarm und einer Vibration des Geräts begleitet. Diese Funktion sollte sparsam verwendet werden, um den Benutzer nicht durch häufige Unterbrechungen zu stören.

Nachrichten-UI-Framework (MessageUI.framework)

Das Message UI Framework bietet alles, was Sie benötigen, um Benutzern das Verfassen und Senden von E-Mail-Nachrichten aus Ihrer Anwendung heraus zu ermöglichen. Tatsächlich stellt das Framework sogar die Benutzeroberflächenelemente bereit, über die der Benutzer die E-Mail-Adressierungsinformationen und den Nachrichteninhalt eingibt. Alternativ können diese Informationen in Ihrer Anwendung vordefiniert und dann angezeigt werden, damit der Benutzer sie vor dem Senden bearbeiten und genehmigen kann.

Adressbuch-UI-Framework (AddressUI.framework)

Da das iPad eine Schlüsselfunktion als Kommunikationsgerät und digitaler Assistent hat, sollte es nicht allzu überraschend sein, dass ein ganzes Framework der Integration der Adressbuchdaten in Ihre eigenen Anwendungen gewidmet ist. Der Hauptzweck des Frameworks besteht darin, Ihnen den Zugriff, die Anzeige, Bearbeitung und Eingabe von Kontaktinformationen aus dem iPad-Adressbuch in Ihrer eigenen Anwendung zu ermöglichen.

Spiel Kit Rahmen (GameKit.framework)

Das Game Kit-Framework bietet Peer-to-Peer-Konnektivität und Sprachkommunikation zwischen mehreren Geräten und Benutzern, sodass Benutzer, die dieselbe App ausführen, interagieren können. Bei der Einführung dieser Funktion wurde von Apple erwartet, dass sie hauptsächlich in Multiplayer-Spielen verwendet wird (daher die Wahl des Namens), aber die möglichen Anwendungen für diese Funktion gehen eindeutig weit über die Spieleentwicklung hinaus.

iAd Rahmen (iAd.framework)

Der Zweck des iAd-Frameworks besteht darin, Entwicklern die Möglichkeit zu geben, Bannerwerbung in ihre Anwendungen aufzunehmen. Alle Anzeigen werden von Apples eigenem Anzeigendienst geschaltet.

Event Kit UI Framework

Das Event Kit UI Framework wurde in iOS 4 eingeführt und ermöglicht den Zugriff und die Bearbeitung von Kalenderereignissen innerhalb einer Anwendung.

Konten Rahmen (Konten.framework)

iOS 5 führt das Konzept der Systemkonten ein. Diese ermöglichen es im Wesentlichen, die Kontoinformationen für andere Dienste auf dem iOS-Gerät zu speichern und innerhalb des Anwendungscodes darauf zuzugreifen. Derzeit sind Systemkonten auf Twitter-Konten beschränkt, obwohl andere Dienste wie Facebook wahrscheinlich in zukünftigen iOS-Versionen erscheinen werden. Der Zweck des Accounts-Frameworks besteht darin, eine API bereitzustellen, mit der Anwendungen auf diese Systemkonten zugreifen und diese verwalten können.

Twitter Rahmen (zwitschern.framework)

Das Twitter-Framework ermöglicht das Hinzufügen der Twitter-Integration zu Anwendungen. Das Framework arbeitet mit dem Konten-Framework zusammen, um Zugriff auf die Twitter-Kontoinformationen des Benutzers zu erhalten.

Die iOS-Medienschicht

Die Aufgabe der Medienschicht besteht darin, iOS Audio-, Video-, Animations- und Grafikfunktionen bereitzustellen. Wie bei den anderen Schichten, die den iOS-Stack umfassen, umfasst die Medienschicht eine Reihe von Frameworks, die bei der Entwicklung von iPad-Apps verwendet werden können. In diesem Abschnitt werden wir uns nacheinander ansehen.

Kern Video Rahmen (CoreVideo.framework)

Das Core Video Framework bietet Pufferunterstützung für das Core Media Framework. Während dies von Anwendungsentwicklern verwendet werden kann, ist es normalerweise nicht erforderlich, dieses Framework zu verwenden.

Kerntextrahmen (CoreText.framework)

Das iOS Core Text Framework ist eine C-basierte API, die die Handhabung erweiterter Anforderungen an Textlayout und Schriftwiedergabe erleichtert.

Bild-E / A-Framework (ImageIO.framework)

Das Image I/O Framework, das den Import und Export von Bilddaten und Bildmetadaten erleichtern soll, wurde in iOS 4 eingeführt. Das Framework unterstützt eine Vielzahl von Bildformaten, darunter PNG, JPEG, TIFF und GIF.

Assets Bibliothek Framework (AssetsLibrary.framework)

Die Assets-Bibliothek bietet einen Mechanismus zum Auffinden und Abrufen von Video- und Fotodateien, die sich auf dem iPad-Gerät befinden. Neben dem Zugriff auf vorhandene Bilder und Videos können mit diesem Framework auch neue Fotos und Videos im Standard-Fotoalbum des Geräts gespeichert werden.

Core-Grafik-Framework (CoreGraphics.framework)

Das iOS Core Graphics Framework (auch bekannt als Quartz 2D API) bietet eine leichte zweidimensionale Rendering-Engine. Zu den Funktionen dieses Frameworks gehören die Erstellung und Präsentation von PDF-Dokumenten, vektorbasiertes Zeichnen, transparente Ebenen, pfadbasiertes Zeichnen, Anti-Aliasing-Rendering, Farbmanipulation und -verwaltung, Bildwiedergabe und Farbverläufe. Diejenigen, die mit der Quartz 2D-API unter macOS X vertraut sind, werden erfreut sein zu erfahren, dass die Implementierung dieser API unter iOS dieselbe ist.

Kernbild Rahmen (CoreImage.framework)

Ein neues Framework, das mit iOS 5 eingeführt wurde und eine Reihe von Funktionen zum Filtern und Bearbeiten von Videos und Bildern für Anwendungsentwickler bietet.

Quarzkerngerüst (QuartzCore.framework)

Der Zweck des Quartz Core-Frameworks besteht darin, Animationsfunktionen auf dem iPad bereitzustellen. Es bietet die Grundlage für die meisten visuellen Effekte und Animationen, die vom UIKit-Framework verwendet werden, und bietet eine Objective-C-basierte Programmierschnittstelle für die Erstellung spezieller Animationen in iPad-Apps.

OpenGL ES Rahmen (OpenGLES.framework)

Seit vielen Jahren ist OpenGL der Industriestandard für leistungsstarke 2D- und 3D-Grafikzeichnungen. Ursprünglich von der inzwischen nicht mehr existierenden Silicon Graphics, Inc. (SGI) in den 1990er Jahren in Form von GL entwickelt, befindet sich die offene Version dieser Technologie (OpenGL) nun in der Obhut eines gemeinnützigen Konsortiums, das eine Reihe großer Unternehmen umfasst, darunter Apple, Inc., Intel, Motorola und ARM Holdings.

OpenGL for Embedded Systems (ES) ist eine leichtgewichtige Version der vollständigen OpenGL-Spezifikation, die speziell für kleinere Geräte wie das iPad entwickelt wurde.

iOS 3 oder höher unterstützt sowohl OpenGL ES 1.1 als auch 2.0 auf bestimmten iPhone-Modellen (z. B. iPhone 3GS und iPhone 4). Frühere Versionen von iOS und ältere Gerätemodelle unterstützen nur OpenGL ES Version 1.1.

GLKit Rahmen (GLKit.framework)

Das GLKit-Framework ist eine Objective-C-basierte API, die das Erstellen von OpenGL ES-basierten Anwendungen erleichtert.

NewsstandKit Rahmen (NewsstandKit.framework)

Die Zeitungskiosk-Anwendung ist eine neue Funktion von iOS 5 und dient Benutzern als zentraler Ort für den Zugriff auf Zeitungen und Zeitschriften. Das NewsstandKit-Framework ermöglicht die Entwicklung von Anwendungen, die diesen neuen Dienst nutzen.

iOS-Audiounterstützung

iOS unterstützt Audio in den Formaten AAC, Apple Lossless (ALAC), A-law, IMA / ADPCM, Linear PCM, µ-law, DVI / Intel IMA ADPCM, Microsoft GSM 6.10 und AES3-2003 durch die Unterstützung der folgenden Frameworks.

AV Foundation Rahmen (AVFoundation.framework)

Ein Objective-C-basiertes Framework, das die Wiedergabe, Aufzeichnung und Verwaltung von Audioinhalten ermöglicht.

Kern Audio-Frameworks (CoreAudio.rahmen, AudioToolbox.rahmen und AudioUnit.framework)

Die Frameworks, die Core Audio für iOS umfassen, definieren unterstützte Audiotypen, Wiedergabe und Aufzeichnung von Audiodateien und Streams und bieten auch Zugriff auf die integrierten Audioverarbeitungseinheiten des Geräts.

Open Audio Library (OpenAL)

OpenAL ist eine plattformübergreifende Technologie zur Bereitstellung hochwertiger 3D-Audioeffekte (auch als Positions-Audio bezeichnet). Positions-Audio kann in einer Vielzahl von Anwendungen verwendet werden, wird jedoch typischerweise verwendet, um Soundeffekte in Spielen bereitzustellen.

Mediaplayer-Framework (MediaPlayer.rahmen)

Die iOS Media Player rahmen ist in der lage zu spielen video in.mov, .mp4, .m4v, und .3gp-Formate mit einer Vielzahl von Komprimierungsstandards, Auflösungen und Bildraten.

Kern Midi-Framework (CoreMIDI.framework)

Das in iOS 4 eingeführte Core MIDI Framework bietet eine API für Anwendungen zur Interaktion mit MIDI-kompatiblen Geräten wie Synthesizern und Keyboards über den Dock Connector des iPad.

Der iOS Core Services Layer

Der iOS Core Services Layer bietet einen Großteil der Grundlage, auf der die zuvor referenzierten Layer aufgebaut sind, und besteht aus den folgenden Frameworks.

Address Book Framework (Adressbuch.framework)

Das Adressbuch-Framework bietet programmgesteuerten Zugriff auf die iPad-Adressbuch-Kontaktdatenbank, sodass Anwendungen Kontakteinträge abrufen und ändern können.

CFNetwork Rahmen (CFNetwork.framework)

Das CFNetwork-Framework bietet eine C-basierte Schnittstelle zum TCP/IP-Netzwerkprotokollstapel und Low-Level-Zugriff auf BSD-Sockets. Auf diese Weise kann Anwendungscode geschrieben werden, der mit HTTP-, FTP- und Domain-Name-Servern funktioniert und sichere und verschlüsselte Verbindungen mit Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) herstellt.

Kerndatenrahmen (CoreData.framework)

Dieses Framework wird bereitgestellt, um die Erstellung von Datenmodellierung und -speicherung in MVC-basierten Anwendungen (Model-View-Controller) zu vereinfachen. Die Verwendung des Core Data Frameworks reduziert die Menge an Code, die geschrieben werden muss, um allgemeine Aufgaben beim Arbeiten mit strukturierten Daten innerhalb einer Anwendung auszuführen, erheblich.

Kern Foundation Framework (CoreFoundation.framework)

Das Core Foundation Framework ist ein C-basiertes Framework, das grundlegende Funktionen wie Datentypen, Zeichenfolgenmanipulation, Verwaltung von Rohblockdaten, URL-Manipulation, Threads und Laufschleifen, Datum und Uhrzeit, grundlegende XML-Manipulation und Port- und Socket-Kommunikation bietet. Zusätzliche XML-Funktionen, die über die in diesem Framework enthaltenen hinausgehen, werden über die libXML2-Bibliothek bereitgestellt. Obwohl dies eine C-basierte Schnittstelle ist, sind die meisten Funktionen des Core Foundation Frameworks auch mit Objective-C-Wrappern über das Foundation Framework verfügbar.

Kern Media Framework (CoreMedia.framework)

Das Core Media Framework ist die untere Ebene, auf der die AV Foundation Layer aufgebaut ist. Während die meisten Audio- und Videoaufgaben mit dem Higher Level AV Foundation Framework ausgeführt werden können und sollten, wird der Zugriff auch für Situationen bereitgestellt, in denen der iOS-Anwendungsentwickler eine Steuerung auf niedrigerer Ebene benötigt.

Core Telephony Framework (CoreTelephony.framework)

Das iOS Core Telephony Framework wird bereitgestellt, um es Anwendungen zu ermöglichen, das Gerät nach Informationen über den aktuellen Mobilfunkanbieter abzufragen und Benachrichtigungen über telefoniebezogene Ereignisse zu erhalten.

EventKit Rahmen (EventKit.framework)

Eine API, die Anwendungen den Zugriff auf den Kalender und die Alarme auf dem Gerät ermöglicht.

Stiftung Rahmen (Stiftung.framework)

Das Foundation Framework ist das Standard-Objective-C-Framework, das denjenigen vertraut ist, die in Objective-C auf anderen Plattformen (höchstwahrscheinlich Mac OS X) programmiert haben. Im Wesentlichen besteht dies aus Objective-C-Wrappern um einen Großteil des C-basierten Core Foundation-Frameworks.

Kern Lage Rahmen (CoreLocation.framework)

Mit dem Core Location Framework können Sie den aktuellen geografischen Standort des Geräts (Breitengrad, Längengrad und Höhe) und Kompasswerte mit Ihren eigenen Anwendungen abrufen. Die Methode, mit der das Gerät Koordinaten bereitstellt, hängt von den zum Zeitpunkt der Anforderung der Informationen verfügbaren Daten und der Hardwareunterstützung des jeweiligen iPad-Modells ab, auf dem die App ausgeführt wird (GPS und Kompass sind nur bei neueren Modellen verfügbar). Dies basiert entweder auf GPS-Messwerten, Wi-Fi-Netzwerkdaten oder der Triangulation von Mobilfunkmasten (oder einer Kombination der drei).

Framework für mobile Kerndienste (MobileCoreServices.framework)

Das iOS Mobile Core Services Framework bildet die Grundlage für Apples UTI-Mechanismus (Uniform Type Identifiers), ein System zum Spezifizieren und Identifizieren von Datentypen. Apple hat eine Vielzahl vordefinierter Bezeichner definiert, darunter verschiedene Datentypen wie Text, RTF, HTML, JavaScript und PowerPoint .ppt-Dateien, PhotoShop-Bilder und MP3-Dateien.

Speichern Kit Rahmen (StoreKit.framework)

Der Zweck des Store Kit-Frameworks besteht darin, Commerce-Transaktionen zwischen Ihrer Anwendung und dem Apple App Store zu erleichtern. Vor Version 3.0 von iOS war es nur möglich, einem Kunden eine App zum Zeitpunkt des Kaufs im App Store in Rechnung zu stellen. iOS 3.0 führte das Konzept des „In App Purchase“ ein, bei dem dem Benutzer die Möglichkeit gegeben werden kann, zusätzliche Zahlungen innerhalb der Anwendung zu tätigen. Dies kann beispielsweise die Implementierung eines Abonnementmodells für eine Anwendung, den Kauf zusätzlicher Funktionen oder sogar den Kauf eines schnelleren Autos für Sie in einem Rennspiel beinhalten.

SQLite-Bibliothek

Ermöglicht die Erstellung und Bearbeitung einer leichten, SQL-basierten Datenbank in Ihrer iPad-Anwendung.

Systemkonfigurationsframework (SystemKonfiguration.framework)

Das Systemkonfigurationsframework ermöglicht es Anwendungen, auf die Netzwerkkonfigurationseinstellungen des Geräts zuzugreifen, um Informationen über die „Erreichbarkeit“ des Geräts zu ermitteln (z. B. ob Wi-Fi- oder Zellkonnektivität aktiv ist und ob und wie Datenverkehr zu einem Server geleitet werden kann).

Quick Look Rahmen (QuickLook.framework)

Das Quick Look-Framework bietet einen nützlichen Mechanismus zum Anzeigen von Vorschauen des Inhalts von Dateitypen, die auf das Gerät geladen werden (normalerweise über eine Internet- oder Netzwerkverbindung), für die die Anwendung noch keine Unterstützung bietet. Zu den von diesem Framework unterstützten Dateiformattypen gehören iWork, Microsoft Office-Dokument, Rich Text Format, Adobe PDF, Bilddateien usw.textdateien und Komma getrennt (CSV).

Die iOS-Kernbetriebssystemschicht

Die Kernbetriebssystemschicht nimmt die unterste Position des iOS-Stapels ein und befindet sich als solche direkt auf der Gerätehardware. Die Schicht bietet eine Vielzahl von Diensten, einschließlich Low-Level-Networking, Zugriff auf externes Zubehör und die üblichen grundlegenden Betriebssystemdienste wie Speicherverwaltung, Dateisystembehandlung und Threads.

Accelerate Framework (Beschleunigen.framework)

Das Accelerate Framework bietet eine hardwareoptimierte C-basierte API zur Durchführung komplexer und großer mathematischer, Vektor-, digitaler Signalverarbeitungs- (DSP) und Bildverarbeitungsaufgaben und -berechnungen.

Externes Zubehör-Framework (ExternalAccessory.framework)

Ermöglicht die Abfrage und Kommunikation mit externem Zubehör, das physisch über den 30-poligen Dock-Anschluss oder drahtlos über Bluetooth mit dem iPad verbunden ist.

Sicherheitsrahmen (Sicherheit.framework)

Das iOS-Sicherheitsframework bietet alle Sicherheitsschnittstellen, die Sie von einem Gerät erwarten, das eine Verbindung zu externen Netzwerken herstellen kann, einschließlich Zertifikaten, öffentlichen und privaten Schlüsseln, Vertrauensrichtlinien, Schlüsselanhängern, Verschlüsselung, Digests und Hash-basiertem Nachrichtenauthentifizierungscode (HMAC).

System (libSystem)

Wie bereits erwähnt, basiert iOS auf einer UNIX-ähnlichen Grundlage. Die Systemkomponente der Kernbetriebssystemschicht bietet die gleiche Funktionalität wie jedes andere UNIX-ähnliche Betriebssystem. Diese Schicht enthält den Betriebssystemkern (basierend auf dem von der Carnegie Mellon University entwickelten Mach-Kernel) und Gerätetreiber. Der Kernel ist die Grundlage, auf der die gesamte iOS-Plattform aufgebaut ist, und bietet die Low-Level-Schnittstelle zur zugrunde liegenden Hardware. Der Kernel ist unter anderem für die Speicherzuweisung, das Prozesslebenszyklusmanagement, die Eingabe / Ausgabe, die Kommunikation zwischen Prozessen, das Thread-Management, das Low-Level-Networking, den Dateisystemzugriff und das Thread-Management verantwortlich.

Als App-Entwickler ist Ihr Zugriff auf die Systemschnittstellen aus Sicherheits- und Stabilitätsgründen eingeschränkt. Die Schnittstellen, die Ihnen zur Verfügung stehen, sind in einer C-basierten Bibliothek namens libSystem enthalten. Wie bei allen anderen Ebenen des iOS-Stacks sollten diese Schnittstellen nur verwendet werden, wenn Sie absolut sicher sind, dass es keine Möglichkeit gibt, dasselbe Ziel mit einem Framework in einer höheren iOS-Ebene zu erreichen.

Lernen Sie SwiftUI kennen und bringen Sie Ihre iOS–Entwicklung auf die nächste Stufe
SwiftUI Essentials – iOS 14 Edition Book ist jetzt in den Ausgaben Print (39.99 USD) und eBook (29.99 USD) erhältlich. Erfahren Sie mehr…

 Kaufen DruckenVorschau Buch

Zurück Inhaltsverzeichnis Weiter
Die Geschichte von iOS Teilnahme am Apple iOS 5 Developer Program

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.