Vorige | Inhoudsopgave | Volgende |
De Geschiedenis van iOS | de Toetreding tot de Apple iOS 5 Developer Program |
Leren SwiftUI en neem uw iOS-Ontwikkeling naar het Volgende Niveau
SwiftUI Essentials – iOS-14 Uitgave boek is nu beschikbaar in Print ($39.99) en eBook ($29.99) edities. Meer informatie…
wanneer we apps voor de iPad ontwikkelen, geeft Apple ons geen directe toegang tot deze hardware. In feite vindt alle hardwareinteractie uitsluitend plaats via een aantal verschillende lagen software die fungeren als tussenpersonen tussen de applicatie-code en apparaathardware. Deze lagen vormen wat bekend staat als een besturingssysteem. In het geval van de iPad, dit besturingssysteem staat bekend als iOS.
om een beter inzicht te krijgen in de iPad-ontwikkelomgeving, zal dit hoofdstuk in detail ingaan op de verschillende lagen waaruit het iOS 5-besturingssysteem bestaat en de frameworks die ons als ontwikkelaars in staat stellen om iPad-applicaties te schrijven.
- iPhone OS wordt iOS
- een overzicht van de iOS 5-architectuur
- de Cocoa Touch Layer
- UIKit Framework (UIKit.framework)
- kaart Kit Framework (MapKit.framework)
- Push notificatieservice
- bericht UI Framework (MessageUI.framework)
- adresboek UI Framework (AddressUI.framework)
- Game Kit Framework (GameKit.framework)
- iAd Framework (iAd.framework)
- Event Kit UI Framework
- Accounts Framework (Accounts.framework)
- Twitter Framework (Twitter.framework)
- de iOS-Medialaag
- Core Video Framework (CoreVideo.framework)
- Core Text Framework (CoreText.framework)
- Image I / O Framework (ImageIO.framework)
- Assets Library Framework (AssetsLibrary.framework)
- Core Graphics Framework (CoreGraphics.framework)
- Core Image Framework (CoreImage.framework)
- Quartz Core Framework (QuartzCore.framework)
- OpenGL ES framework (OpenGLES.framework)
- GLKit Framework (GLKit.framework)
- Kiosk-Kader (Kiosk-Kader.framework)
- iOS-Audioondersteuning
- Av Foundation framework (AVFoundation.framework)
- Core Audio Frameworks (CoreAudio.framework, AudioToolbox.framework en AudioUnit.framework)
- Open Audio Library (OpenAL)
- Media Player Framework (MediaPlayer.framework)
- Core Midi Framework (CoreMIDI.framework)
- de laag iOS Core Services
- Adresboek Framework (Adresboek.framework)
- CFNetwork Framework (CFNetwork.framework)
- Core Data Framework (CoreData.framework)
- Core Foundation Framework (CoreFoundation.framework)
- Core Media Framework (CoreMedia.framework)
- Core Telephony Framework (Coretelefonie.framework)
- EventKit Framework (EventKit.framework)
- Kader Van De Stichting (Stichting.framework)
- Core Location Framework (CoreLocation.framework)
- Mobile Core Services Framework (MobileCoreServices.framework)
- Store Kit Framework (StoreKit.framework)
- SQLite library
- System Configuration Framework (SystemConfiguration.framework)
- Quick Look Framework (QuickLook.framework)
- de iOS Core OS-laag
- Accelerate Framework (Accelerate.framework)
- Extern Accessoire Kader (ExternalAccessory.framework)
- Beveiligingskader (Beveiliging.framework)
- System (LibSystem)
iPhone OS wordt iOS
voorafgaand aan de release van de iPad in 2010, werd het besturingssysteem dat op de iPhone werd over het algemeen aangeduid als iPhone OS. Gezien het feit dat het besturingssysteem dat wordt gebruikt voor de iPad is in wezen hetzelfde als dat op de iPhone het niet veel zin om het te noemen iPad OS. In plaats daarvan besloot Apple een meer generieke en niet-apparaatspecifieke naam voor het besturingssysteem aan te nemen. Gezien Apple ‘ s voorliefde voor namen voorafgegaan door de letter ‘i’ (iTunes, iBookstore, iMac etc) de logische keuze was, natuurlijk, iOS. Helaas, iOS is ook de naam die wordt gebruikt door Cisco voor het besturingssysteem op de routers (Apple, het lijkt, heeft ook een voorliefde voor het negeren van handelsmerken). Bij het uitvoeren van een internet zoekopdracht voor iOS, Daarom, wees bereid om grote aantallen resultaten te zien voor Cisco ’s iOS die absoluut niets te maken hebben met Apple’ s iOS.
een overzicht van de iOS 5-architectuur
zoals eerder vermeld, bestaat iOS uit een aantal verschillende softwarelagen, die elk programmeerkaders bieden voor de ontwikkeling van applicaties die bovenop de onderliggende hardware draaien.
deze lagen van het besturingssysteem kunnen schematisch worden weergegeven zoals geïllustreerd in Figuur 4-1:
figuur 4-1
sommige diagrammen die zijn ontworpen om de iOS-softwarestack grafisch weer te geven, tonen een extra doos boven de Cocoa Touch-laag om de toepassingen op het apparaat aan te geven. In het bovenstaande diagram hebben we dit niet gedaan, omdat dit zou suggereren dat de enige interface beschikbaar voor de app is Cocoa Touch. In de praktijk kan een app direct een van de lagen van de stack oproepen om taken uit te voeren op het fysieke apparaat.
dat gezegd hebbende, biedt elke laag van het besturingssysteem een toenemend niveau van abstractie weg van de complexiteit van het werken met de hardware. Als iOS-ontwikkelaar moet u daarom altijd zoeken naar oplossingen voor uw programmeerdoelen in de kaders die zich in de iOS-lagen op een hoger niveau bevinden voordat u uw toevlucht neemt tot het schrijven van code die tot op de lagen op een lager niveau reikt. In het algemeen, hoe hoger niveau van de laag die u programmeert, hoe minder inspanning en minder regels code die u zult moeten schrijven om uw doel te bereiken. En zoals elke ervaren programmeur je zal vertellen, hoe minder code Je moet schrijven, hoe minder kans je hebt om bugs te introduceren.
nu we de verschillende lagen van iOS 5 hebben geïdentificeerd, kunnen we nu meer in detail kijken naar de services die door elke laag worden geleverd en de bijbehorende frameworks die deze services beschikbaar maken voor ons als applicatie-ontwikkelaars.
de Cocoa Touch Layer
de Cocoa Touch layer bevindt zich aan de bovenkant van de iOS-stack en bevat de frameworks die het meest worden gebruikt door Ipad-applicatieontwikkelaars. Cocoa Touch is voornamelijk geschreven in Objective-C, is gebaseerd op de standaard Mac OS X Cocoa API (zoals te vinden op apple desktop en laptop computers) en is uitgebreid en aangepast aan de behoeften van de iPad hardware te voldoen.
de Cocoa Touch layer biedt de volgende frameworks voor de ontwikkeling van iPad-apps:
UIKit Framework (UIKit.framework)
het UIKit framework is een uitgebreide en veelzijdige doelstelling-C gebaseerde programmeerinterface. Het is zonder twijfel het kader waarmee u het grootste deel van uw tijd zult besteden aan het werken. Hele boeken kunnen en zullen waarschijnlijk alleen over het UIKit-kader geschreven worden. Enkele van de belangrijkste kenmerken van UIKit zijn als volgt:
- aanmaken en beheren van gebruikersinterfaces (tekstvelden, knoppen, labels, kleuren, lettertypen enz.)
- beheer van de Toepassingslevenscyclus
- verwerking van toepassingsgebeurtenissen (bijv. gebruikersinteractie aanraakscherm)
- Multitasking
- draadloos afdrukken
- gegevensbescherming via encryptie
- knippen, kopiëren en plakken
- presentatie en beheer van Web-en tekstinhoud
- gegevensverwerking
- Inter-applicatie-integratie
- pushmeldingen in combinatie met pushmeldingen
- lokale meldingen (een mechanisme waarbij een toepassing op de achtergrond de aandacht van de gebruiker kan winnen)
- toegankelijkheid
- Accelerometer, batterij, nabijheidssensor, interactie camera en fotobibliotheek
- touch screen gebarenherkenning
- Delen van bestanden (de mogelijkheid om applicatiebestanden die op het apparaat zijn opgeslagen beschikbaar te maken via iTunes)
- peer-to-peer-connectiviteit tussen apparaten
- verbinding met externe beeldschermen
om een indruk te krijgen van de rijkdom van dit framework is het de moeite waard om wat tijd te besteden aan Apple ‘ s UIKit-referentiemateriaal dat online beschikbaar is op:
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKit_Framework/index.html
kaart Kit Framework (MapKit.framework)
Als u veel tijd met een iPad hebt doorgebracht, dan is de kans groot dat u de toepassing Kaarten meer dan eens hebt gebruikt, hetzij om een kaart van een specifiek gebied te krijgen, hetzij om routebeschrijvingen te genereren om u naar uw beoogde bestemming te brengen. Het Map Kit framework biedt een programmeerinterface waarmee u kaartgebaseerde mogelijkheden kunt bouwen in uw eigen applicaties. Hiermee kunt u onder andere schuifbare kaarten voor elke locatie weergeven, de kaart weergeven die overeenkomt met de huidige geografische locatie van het apparaat en de kaart op verschillende manieren annoteren.
Push notificatieservice
met de push notificatieservice kunnen toepassingen gebruikers op de hoogte stellen van een gebeurtenis, zelfs als de toepassing momenteel niet op het apparaat draait. Sinds de introductie van deze dienst is het meest gebruikt door nieuws gebaseerde toepassingen. Meestal wanneer er breaking news de Dienst zal een bericht te genereren op het apparaat met het nieuws kop en bieden de gebruiker de mogelijkheid om de bijbehorende nieuws-app te laden om meer details te lezen. Deze waarschuwing gaat meestal gepaard met een audio alert en trillingen van het apparaat. Deze functie moet spaarzaam worden gebruikt om te voorkomen dat vervelend de gebruiker met frequente onderbrekingen.
bericht UI Framework (MessageUI.framework)
het Message UI framework biedt alles wat u nodig hebt om gebruikers in staat te stellen e-mailberichten op te stellen en te verzenden vanuit uw applicatie. In feite biedt het kader zelfs de elementen van de gebruikersinterface waarmee de gebruiker de e-mailadresseringsinformatie en berichtinhoud invoert. Als alternatief kan deze informatie vooraf worden gedefinieerd in uw applicatie en vervolgens worden weergegeven voor de gebruiker om te bewerken en goed te keuren voorafgaand aan het verzenden.
adresboek UI Framework (AddressUI.framework)
gezien het feit dat een belangrijke functie van de iPad is als een communicatie-apparaat en digitale assistent, zou het niet al te verrassend moeten zijn dat een volledig framework is gewijd aan de integratie van de adresboekgegevens in uw eigen toepassingen. Het primaire doel van het framework is om u in staat te stellen om toegang te krijgen, weer te geven, te bewerken en in te voeren contactgegevens van de iPad adresboek vanuit uw eigen toepassing.
Game Kit Framework (GameKit.framework)
het Game Kit framework biedt peer-to-peer connectiviteit en spraakcommunicatie tussen meerdere apparaten en gebruikers, zodat gebruikers met dezelfde app kunnen communiceren. Toen deze functie voor het eerst werd geïntroduceerd werd door Apple verwacht dat het voornamelijk zou worden gebruikt in multi-player games (vandaar de keuze van de naam), maar de mogelijke toepassingen voor deze functie duidelijk veel verder dan games ontwikkeling.
iAd Framework (iAd.framework)
het doel van het iAd Framework is ontwikkelaars in staat te stellen bannerreclame in hun applicaties op te nemen. Alle advertenties worden geserveerd door Apple ‘ s eigen advertentieservice.
Event Kit UI Framework
het Event Kit UI framework is geà ntroduceerd in iOS 4 en wordt geleverd om de agenda-gebeurtenissen te openen en te bewerken vanuit een toepassing.
Accounts Framework (Accounts.framework)
iOS 5 introduceert het concept van systeemrekeningen. Hiermee kunnen in wezen de accountinformatie voor andere services worden opgeslagen op het iOS-apparaat en worden benaderd vanuit de toepassingscode. Momenteel systeemaccounts zijn beperkt tot Twitter-accounts, hoewel andere diensten zoals Facebook zal waarschijnlijk verschijnen in de toekomst iOS releases. Het doel van het Accounts Framework is om een API te bieden waarmee applicaties toegang kunnen krijgen tot deze systeemaccounts en deze kunnen beheren.
Twitter Framework (Twitter.framework)
het Twitter Framework maakt het mogelijk om Twitter-integratie toe te voegen aan toepassingen. Het framework werkt samen met het Accounts Framework om toegang te krijgen tot de Twitter-accountgegevens van de gebruiker.
de iOS-Medialaag
de rol van de Medialaag is om iOS te voorzien van audio -, video -, animatie-en grafische mogelijkheden. Net als bij de andere lagen van de iOS stack, de media laag bestaat uit een aantal frameworks die kunnen worden gebruikt bij het ontwikkelen van iPad apps. In deze sectie zullen we kijken naar elk op zijn beurt.
Core Video Framework (CoreVideo.framework)
het Core Video Framework biedt bufferondersteuning voor het Core Media framework. Hoewel dit kan worden gebruikt door Applicatie-Ontwikkelaars is het meestal niet nodig om dit kader te gebruiken.
Core Text Framework (CoreText.framework)
het iOS Core Text framework is een C-gebaseerde API ontworpen om de behandeling van geavanceerde tekst lay-out en lettertype rendering eisen te vergemakkelijken.
Image I / O Framework (ImageIO.framework)
het Image I / O framework, dat tot doel heeft het importeren en exporteren van beeldgegevens en beeldmetadata te vergemakkelijken, werd geïntroduceerd in iOS 4. Het framework ondersteunt een breed scala aan beeldformaten, waaronder PNG, JPEG, TIFF en GIF.
Assets Library Framework (AssetsLibrary.framework)
de Assets-bibliotheek biedt een mechanisme voor het lokaliseren en ophalen van video-en fotobestanden op het iPad-apparaat. Naast de toegang tot bestaande afbeeldingen en video ‘s, dit kader maakt het ook mogelijk nieuwe foto’ s en video ‘ s worden opgeslagen op het standaard apparaat fotoalbum.
Core Graphics Framework (CoreGraphics.framework)
het iOS Core Graphics Framework (ook bekend als de Quartz 2D API) biedt een lichtgewicht tweedimensionale rendering engine. Kenmerken van dit kader zijn PDF-document creatie en presentatie, vector gebaseerde tekening, transparante lagen, pad gebaseerde tekening, anti-aliased rendering, kleur manipulatie en beheer, beeldweergave en gradiënten. Degenen die bekend zijn met de Quartz 2D API die op MacOS X draait, zullen blij zijn om te horen dat de implementatie van deze API hetzelfde is op iOS.
Core Image Framework (CoreImage.framework)
een nieuw framework geà ntroduceerd met iOS 5 dat een set van video en beeld filtering en manipulatie mogelijkheden biedt voor applicatieontwikkelaars.
Quartz Core Framework (QuartzCore.framework)
het doel van het Quartz Core framework is om animatiemogelijkheden op de iPad te bieden. Het biedt de basis voor de meerderheid van de visuele effecten en animatie gebruikt door de UIKit framework en biedt een Objective-C gebaseerde programmering interface voor het creëren van gespecialiseerde animatie binnen iPad apps.
OpenGL ES framework (OpenGLES.framework)
sinds vele jaren is de industriestandaard voor hoogwaardige 2D-en 3D-grafische tekeningen OpenGL. Oorspronkelijk ontwikkeld door de nu ter ziele gegane Silicon Graphics, Inc (SGI) in de jaren 1990 in de vorm van GL, de open versie van deze technologie (OpenGL) is nu onder de zorg van een non-profit consortium bestaande uit een aantal grote bedrijven, waaronder Apple, Inc. Intel, Motorola en ARM Holdings.
OpenGL for Embedded Systems (ES) is een lichtgewicht versie van de volledige OpenGL-specificatie die speciaal is ontworpen voor kleinere apparaten zoals de iPad.
iOS 3 of hoger ondersteunt zowel OpenGL ES 1.1 Als 2.0 op bepaalde iPhone-modellen (zoals de iPhone 3GS en iPhone 4). Eerdere versies van iOS en oudere apparaatmodellen ondersteunen alleen OpenGL ES versie 1.1.
GLKit Framework (GLKit.framework)
het GLKit framework is een Objective-C gebaseerde API ontworpen om de taak van het creëren van OpenGL ES gebaseerde toepassingen te vergemakkelijken.
Kiosk-Kader (Kiosk-Kader.framework)
de kiosk-applicatie is een nieuwe functie van iOS 5 en is bedoeld als een centrale locatie voor gebruikers om toegang te krijgen tot kranten en tijdschriften. De Kioskit framework maakt het mogelijk voor de ontwikkeling van applicaties die gebruik maken van deze nieuwe dienst.
iOS-Audioondersteuning
iOS kan audio ondersteunen in AAC -, Apple Lossless-(ALAC) -, a-law -, Ima/ADPCM -, Lineaire PCM -, µ-law -, DVI/Intel IMA ADPCM -, Microsoft GSM 6.10-en AES3-2003-formaten via de volgende frameworks.
Av Foundation framework (AVFoundation.framework)
een Objective-C-based framework ontworpen om het afspelen, Opnemen en beheren van audio-inhoud mogelijk te maken.
Core Audio Frameworks (CoreAudio.framework, AudioToolbox.framework en AudioUnit.framework)
de frameworks die Core Audio voor iOS omvatten, definiëren ondersteunde audiotypen, afspelen en opnemen van audiobestanden en-streams en bieden ook toegang tot de ingebouwde audioverwerkingseenheden van het apparaat.
Open Audio Library (OpenAL)
OpenAL is een platformonafhankelijke technologie die wordt gebruikt voor het leveren van hoogwaardige 3D-audio-effecten (ook wel positionele audio genoemd). Positionele audio kan worden gebruikt in een verscheidenheid van toepassingen maar wordt meestal gebruikt om geluidseffecten in games.
Media Player Framework (MediaPlayer.framework)
het iOS Media Player framework is in staat om video af te spelen .mov, .mp4,.m4v, en .3gp-formaten met verschillende compressienormen, resoluties en framesnelheden.
Core Midi Framework (CoreMIDI.framework)
geà ntroduceerd in iOS 4, biedt het Core MIDI framework een API voor toepassingen om te interageren met MIDI-compatibele apparaten zoals synthesizers en toetsenborden via de dockconnector van de iPad.
de laag iOS Core Services
de laag iOS Core Services biedt een groot deel van de basis waarop de eerder genoemde lagen zijn gebouwd en bestaat uit de volgende frameworks.
Adresboek Framework (Adresboek.framework)
het adresboek framework biedt programmatische toegang tot de contactdatabase van het adresboek van de iPad, waardoor toepassingen contactingangen kunnen ophalen en wijzigen.
CFNetwork Framework (CFNetwork.framework)
het CFNetwork framework biedt een C-gebaseerde interface naar de TCP / IP netwerkprotocol stack en low level toegang tot BSD sockets. Hiermee kan toepassingscode worden geschreven die werkt met HTTP -, FTP-en Domeinnaamservers en kunnen beveiligde en versleutelde verbindingen worden gemaakt met SSL (Secure Sockets Layer) of TLS (Transport Layer Security).
Core Data Framework (CoreData.framework)
dit framework is bedoeld om de creatie van datamodellering en opslag in op Model-View-Controller (MVC) gebaseerde toepassingen te vergemakkelijken. Het gebruik van het Core Data framework vermindert aanzienlijk de hoeveelheid code die moet worden geschreven om gemeenschappelijke taken uit te voeren bij het werken met gestructureerde data binnen een applicatie.
Core Foundation Framework (CoreFoundation.framework)
het Core Foundation framework is een C-gebaseerd Framework dat basisfunctionaliteit biedt zoals gegevenstypen, string manipulatie, RAW block data management, URL manipulatie, threads en run loops, datum en tijden, basic XML manipulatie en poort en socket communicatie. Extra XML-mogelijkheden Naast die welke in dit framework zijn opgenomen, worden geleverd via de libXML2-bibliotheek. Hoewel dit een C-gebaseerde interface is, zijn de meeste mogelijkheden van het Core Foundation framework ook beschikbaar met Objective-C wrappers via het Foundation Framework.
Core Media Framework (CoreMedia.framework)
het Core Media framework is de basis waarop de Av Foundation layer is gebouwd. Terwijl de meeste audio-en videotaken kunnen en moeten worden uitgevoerd met behulp van het hoger niveau Av Foundation framework, wordt Toegang ook geboden voor situaties waarin een lager niveau controle vereist is door de iOS-applicatie ontwikkelaar.
Core Telephony Framework (Coretelefonie.framework)
het iOS Core Telephony framework is beschikbaar om toepassingen in staat te stellen het apparaat te ondervragen voor informatie over de huidige provider van mobiele telefoondiensten en om meldingen van telefoongerelateerde gebeurtenissen te ontvangen.
EventKit Framework (EventKit.framework)
een API ontworpen om toepassingen toegang te bieden tot de agenda en alarmen op het apparaat.
Kader Van De Stichting (Stichting.framework)
het kader van de stichting is het standaard Objective-C-framework dat bekend zal zijn bij degenen die in Objective-C op andere platforms hebben geprogrammeerd (hoogstwaarschijnlijk Mac OS X). In wezen bestaat dit uit Objective-C wrappers rond een groot deel van de C-gebaseerde Core Foundation Framework.
Core Location Framework (CoreLocation.framework)
met het Core Location framework kunt u de huidige geografische locatie van het apparaat (breedtegraad, lengtegraad en hoogte) en kompasmetingen verkrijgen met uw eigen toepassingen. De methode die door het apparaat wordt gebruikt om coördinaten te verstrekken, is afhankelijk van de gegevens die beschikbaar zijn op het moment dat de informatie wordt gevraagd en de hardwareondersteuning die wordt geboden door het specifieke iPad-model waarop de app wordt uitgevoerd (GPS en kompas zijn alleen te zien op recente modellen). Dit zal ofwel gebaseerd zijn op GPS-metingen, Wi-Fi netwerk data of cell tower triangulatie (of een combinatie van de drie).
Mobile Core Services Framework (MobileCoreServices.framework)
het iOS Mobile Core Services framework vormt de basis voor het Uniform Type Identifiers (UTI) – mechanisme van Apple, een systeem voor het specificeren en identificeren van gegevenstypen. Een breed scala van vooraf gedefinieerde identifiers zijn gedefinieerd door Apple met inbegrip van dergelijke diverse gegevenstypen zoals tekst, RTF, HTML, JavaScript, PowerPoint .ppt-bestanden, PhotoShop-afbeeldingen en MP3-bestanden.
Store Kit Framework (StoreKit.framework)
het doel van het store Kit framework is om handelstransacties tussen uw applicatie en de Apple App Store te vergemakkelijken. Vóór Versie 3.0 van iOS was het alleen mogelijk om een klant voor een app in rekening te brengen op het moment dat ze deze in de App Store hebben gekocht. iOS 3.0 introduceerde het concept van de “in app purchase” waarbij de gebruiker de mogelijkheid kan krijgen om extra betalingen te doen vanuit de applicatie. Dit kan bijvoorbeeld betrekking hebben op het implementeren van een abonnementsmodel voor een applicatie, het kopen van extra functionaliteit of zelfs het kopen van een snellere auto voor u om te rijden in een racespel.
SQLite library
maakt het mogelijk om vanuit uw iPad-applicatie een lichtgewicht, op SQL gebaseerde database aan te maken en te bewerken.
System Configuration Framework (SystemConfiguration.framework)
het framework voor systeemconfiguratie stelt toepassingen in staat toegang te krijgen tot de netwerkconfiguratie-instellingen van het apparaat om informatie vast te stellen over de “bereikbaarheid” van het apparaat (bijvoorbeeld of Wi-Fi-of celconnectiviteit actief is en of en hoe verkeer naar een server kan worden gerouteerd).
Quick Look Framework (QuickLook.framework)
het Quick Look framework biedt een nuttig mechanisme voor het weergeven van voorbeelden van de inhoud van bestandstypen die op het apparaat zijn geladen (meestal via een internet-of netwerkverbinding) waarvoor de toepassing nog geen ondersteuning biedt. Typen bestandsindelingen die door dit raamwerk worden ondersteund, zijn iWork, Microsoft Office-document, Rich Text-indeling, Adobe PDF, afbeeldingsbestanden, openbaar.tekstbestanden en komma ‘ s gescheiden (CSV).
de iOS Core OS-laag
de Core OS-laag neemt de onderste positie van de iOS-stack in en zit als zodanig direct bovenop de apparaathardware. De laag biedt een verscheidenheid aan diensten, waaronder low level netwerken, Toegang tot externe accessoires en de gebruikelijke fundamentele besturingssysteem diensten zoals geheugenbeheer, bestandssysteem behandeling en threads.
Accelerate Framework (Accelerate.framework)
het Accelerate Framework biedt een hardware geoptimaliseerde C-gebaseerde API voor het uitvoeren van complexe en grootgetal wiskunde, vector, digitale signaalverwerking (DSP) en beeldverwerking taken en berekeningen.
Extern Accessoire Kader (ExternalAccessory.framework)
biedt de mogelijkheid om externe accessoires te ondervragen en te communiceren die fysiek met de iPad zijn verbonden via de 30-pins dockconnector of draadloos via Bluetooth.
Beveiligingskader (Beveiliging.framework)
het iOS-beveiligingskader biedt alle beveiligingsinterfaces die u zou verwachten te vinden op een apparaat dat verbinding kan maken met externe netwerken, waaronder certificaten, publieke en private sleutels, vertrouwensbeleid, sleutelhangers, encryptie, samenvattingen en Hash-based Message Authentication Code (HMAC).
System (LibSystem)
zoals we eerder hebben vermeld, is iOS gebouwd op een UNIX-achtige basis. De systeemcomponent van de Core OS-laag biedt vrijwel dezelfde functionaliteit als elk ander UNIX-besturingssysteem. Deze laag bevat de kernel van het besturingssysteem (gebaseerd op de Mach kernel ontwikkeld door Carnegie Mellon University) en apparaatstuurprogramma ‘ s. De kernel is de basis waarop het gehele iOS-platform is gebouwd en biedt de interface op laag niveau naar de onderliggende hardware. De kernel is onder andere verantwoordelijk voor geheugenallocatie, process lifecycle management, input/output, inter-process communicatie, thread management, low level networking, bestandssysteem access en thread management.
als app-ontwikkelaar is de toegang tot de Systeeminterfaces beperkt om veiligheids-en stabiliteitsredenen. De interfaces die beschikbaar zijn voor u zijn opgenomen in een C-gebaseerde bibliotheek genaamd LibSystem. Zoals met alle andere lagen van de iOS stack, deze interfaces moeten alleen worden gebruikt als je absoluut zeker bent dat er geen manier om hetzelfde doel te bereiken met behulp van een raamwerk gelegen in een hogere iOS-laag.
leer SwiftUI en til uw iOS-ontwikkeling naar een hoger niveau
SwiftUI Essentials-iOS 14 Edition book is nu beschikbaar in gedrukte ($39.99) en eBook ($29.99) edities. Meer informatie…
Vorige | Inhoudsopgave | Volgende |
De Geschiedenis van iOS | de Toetreding tot de Apple iOS 5 Developer Program |