IosprojektiUEF

Wikiopistosta

iOS (aiemmalta nimeltään iPhone OS) mobiilikäyttöjärjestelmää käytetään yksinoikeudella Apple Inc:n laitteissa mukaan lukien iPhone, iPod Touch ja iPad laitteet. Ensimmäinen iOS käyttöjärjestelmä julkaistiin vuonna 2007, kun ensimmäinen iPhone tuotiin markkinoille [1]. Käyttöjärjestelmää päivitetään vuosittain ja viimeisin päivitys iOS 12 julkaistiin syyskuussa 2018. Tämä versio on yhteensopiva kaikkien iPhone, iPod Touch ja iPad laitteiden kanssa, joissa on 64 bittinen prosessori [2]. Heti Android käyttöjärjestelmän jälkeen iOS on toiseksi käytetyin käyttöjärjestelmä koko maailmassa [3]. iOS arkkitehtuurissa on neljä kerrosta: CoreOS Layer, Core Services, Media Layer ja Cocoa Touch.

Abstraktisuus kasvaa liikuttaessa alimmasta kerroksesta ylöspäin. Toisin sanoen ylemmillä tasoilla on suurempi abstraktiotaso kuin alemmilla. Alemmat tasot ovat näin ollen läheisimmin tekemisissä laitteiston kanssa. Ylempien kerrosten toiminnallisuus on siten osittain riippuvainen alemmista kerroksista [4].

iOS arkkitehtuurin tasot ja niiden toiminnot.

CoreOS Layer[muokkaa]

Core OS Layer on IOS-arkkitehtuurin pohjakerros, joka toimii perustana käyttöjärjestelmälle. Core OS-kerros on suoraan yhteydessä laitteistoon [5] ja sen kautta muut palvelut ja toiminnot on rakennettu [6].

Core OS Layer sisältää muun muassa seuraavat ominaisuudet: [5][6]

• Bluetooth-yhteys • Turvallisuuspalvelut • Järjestelmä- ja verkkopalvelut • Muistinhallinta


Core OS Layeriin sisältyvät kehykset: [4]

Core OS Layer Frameworks
Core Bluetooth Framework
Accelerate Framework
External Accessory Framework
Security Services Framework
Local Authentication Framework
64-bit Support

Core Services[muokkaa]

Core Services on joukko macOS- ja iOS-sovellusohjelmointikäyttöliittymiä, jotka sijoittuvat arkkitehtuurillisesti Carbonin, Cocoan ja Cocoa Touchin alle. IOS Core Services-kerros tarjoaa suurimman osan perustasta, jolle yllä olevat kerrokset on rakennettu ja koostuvat seuraavista kehyksistä. [7][8]

* 1 Osoitekirja-kehys (AddressBook.framework) Osoitekirja-kehys tarjoaa ohjelmoitavan pääsyn iPhonen osoitekirjan tietokantaan, jonka avulla sovellukset voivat hakea ja muuttaa yhteystietoja.

* 2 “Ydin-data kehys” (CoreData.framework) Tämä kehys helpottaa tietojen mallinnuksen ja tallennuksen luomista Model-View-Controller (MVC) -perusteisiin sovelluksiin. Core Data -kehyksen käyttö vähentää huomattavasti koodin määrää, joka on kirjoitettava suorittamaan tavallisia tehtäviä, kun käsitellään sovelluksen jäsenneltyjä tietoja.

* 3 "Ydin-perusta kehys” (CoreFoundation.framework) Core-Foundation on C-pohjainen kehys, joka tarjoaa perustoimintoja, kuten tietotyypit, merkkijonon manipulointi, raakalohkon tietojen hallinnan, URL-manipuloinnin, kierteet ja juoksusilmukat, päivämäärän ja kellonajan, perus XML-manipuloinnin sekä satama- ja pistorasian viestinnän.

* 4 Perustus kehys (Foundation.framework) Perustus kehys on standardi Objective-C-kehys, joka on tuttu niille, jotka ovat ohjelmoineet Objective-C: llä muilla alustoilla (todennäköisesti Mac OS X). Pohjimmiltaan tämä koostuu Objective-C-kääreistä, jotka liittyvät suurelta osin C-pohjaiseen Core Foundation -kehikkoon.

* 5 Sijainti kehys (CoreLocation.framework) Core Location -kehyksen avulla voit hankkia laitteen nykyisen maantieteellisen sijainnin (leveys- ja pituusasteet) ja kompassilukemat omilta sovelluksiltasi. Laitteen koordinaattien käyttämä menetelmä riippuu käytettävissä olevista tiedoista, joita käytössä oleva sovellus pyytää, ja tietyn iOS-mallin laitteistokannasta. Tämä joko perustuu GPS-lukemiin, WiFi-verkon tietoihin tai solutorni-triangulaatioon (tai johonkin näiden kolmen yhdistelmän).

* 6 Kauppa-välineistö kehys (StoreKit.framework) Store Kit -kehyksen tarkoituksena on helpottaa kaupankäyntiä sovelluksesi ja Apple App Storen välillä. Ennen iPhone OS: n version 3.0 versiota sovelluksen lataaminen asiakkaalle oli mahdollista vain siinä vaiheessa, kun se osti sen App Storesta. iPhone OS 3.0 esitteli "app-oston" käsitteen, jonka avulla käyttäjälle voidaan antaa mahdollisuus tehdä lisämaksuja sovelluksesta.

* 7 SQLite Kirjasto Mahdollistaa kevyen SQL-pohjaisen tietokannan luomisen ja manipuloinnin iPhone-sovelluksestasi.

Media Layer[muokkaa]

Media Layer on termi, joka viittaa IOS-järjestelmän ohjelmistokehyksiin ja erilaisiin tekniikoihin. Se vastaa äänestä, visuaalisuudesta ja muista multimediaominaisuuksista. Media Layer määrittää koko multimedia-arkkitehtuurin Applen laitteissa ja sovelluksissa. [9][10]

Media Layer -tekniikan avulla ohjelmiston kehittäjät voivat luoda erilaisia mobiilisovelluksia ja palveluita IOS-laitteissa. Tekniikka jakautuu useampaan komponenttiin: graafiseen, audio- ja visuaaliseen tukikehykseen. Graafinen kehys (Graphics Framework) antaa kehittäjälle mahdollisuuden luoda sovelluksia, jotka tarjoavat graafisia rajapintoja ja animaatioita sovelluksiin ja myös kuviin. Audio-kehys (Audio Framework) mahdollistaa taas äänen toiston, tallentamisen ja integroinnin erilaisiin sovelluksiin. Video-kehys (Video Framework) mahdollistaa taas videopohjaisen sisällön toistamisen. Se tukee median toistamista, tallentamista, lukemista koodausta, kirjoittamista ja muokkaamista. Sitä voidaan käyttää myös videoiden kaappaamiseen ja sisällyttämään nämä erilaisiin sovelluksiin.

Cocoa Touch[muokkaa]

Cocoa Touch on käyttöliittymäkehikko, jolla voidaan rakentaa ohjelmia, joita voidaan ajaa iOS:ssa. Cocoa Touch tarjoaa abstraktio tason iOS:sta sekä toiminto systeemin iPhone:lle, iPod Touch:lle ja iPad:lle. Cocoa touch perustuu macOS Cocoa API työkaluihin

ja on ensisijaisesti koodattu Objective-C kielellä. Cocoa Touch mahdollistaa laitteiston ja ominaisuuksien käytön joita ei löydy macOS tietokoneista ja näin ollen ovat uniikkeja laitteita iOS mittarilla. Cocoa Touch seuraa Model-View-Controller (MVC)-ohjelmistoarkkitehtuurityyliä. Cocoa Touch sisältää erilaisia graafisia hallinnoinnin elementtejä. Työkaluja applikaatioitten kehittämiseen Cocoa Touch:ssa sisältyvät iOS SDK:ssa. [6]

Lähteet[muokkaa]

  1. http://www.apple.com/iphone/features/index.html
  2. https://www.macrumors.com/2018/09/17/apple-releases-ios-12/
  3. https://deviceatlas.com/blog/android-v-ios-market-share
  4. 4,0 4,1 https://intellipaat.com/tutorial/tutorial-ios-tutorial/ios-architecture (viitattu 19.11.2018)
  5. 5,0 5,1 Lee Wei-Meng, 2012, Beginning iOS 5 application development, ProQuest (Firm), Indianapolis : Wiley
  6. 6,0 6,1 6,2 Rajiv Ramnath & Cheyney Loffing, 2014, Beginning iOS programming for dummies, Hoboken, New Jersey, Wiley 2014. (s.14)
  7. https://www.techotopia.com/index.php/The_iPhone_OS_Core_Services_Layer
  8. https://developer.apple.com/documentation/coreservices
  9. https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_Technology_Overview/MediaLayer/MediaLayer.html
  10. https://www.techopedia.com/definition/27170/media-layer-apple-ios-devices