Microsoft Word - Zove Jure-diploma-final_pred_tiskom.docx

Velikost: px
Začni prikazovanje s strani:

Download "Microsoft Word - Zove Jure-diploma-final_pred_tiskom.docx"

Transkripcija

1 Jure Žove MOBILNA APLIKACIJA ZA ŠIFRIRANJE OSEBNIH MULTIMEDIJSKIH VSEBIN Diplomsko delo Maribor, september 2012

2

3 MOBILNA APLIKACIJA ZA ŠIFRIRANJE OSEBNIH MULTIMEDIJSKIH VSEBIN Diplomsko delo Študent: Študijski program: Smer: Mentor: Jure Žove univerzitetni študijski program Informatika in tehnologije komuniciranja Informacijski sistemi doc. dr. Marko Hölbl

4 I

5 Zahvala Zahvaljujem se mentorju Marku Hölblu za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala gre staršem, ki so mi študij omogočili, partnerki in ostalim bližnjim, ki so mi tekom študija bili v oporo. II

6 Mobilna aplikacija za šifriranje osebnih multimedijskih vsebin Ključne besede: ios, SDK, varnost, mobilna platforma, mobilna aplikacija UDK: :621.39(043.2) Povzetek Diplomsko delo opisuje mobilno platformo ios ter predstavi njena glavna ogrodja, programski jezik in orodja za razvoj ter analizo aplikacij. Rezultat diplomskega dela je delujoča aplikacija, ki uporabnikom na enostaven in intuitiven način omogoča šifriranje osebnih multimedijskih vsebin na mobilnih napravah. Predstavljen je razvoj aplikacije in najpogostejše tehnike načrtovanja aplikacij na platformi ios. Prav tako so opisane omejitve ter rešitve težav, ki so se pojavljale tekom razvoja. III

7 A mobile application for encrypting personal multimedia content Key words: ios, SDK, security, mobile platform, mobile application UDK: :621.39(043.2) Abstract This study outlines ios mobile platform and presents its frameworks, programming language and tools for development and analysis of applications. The result of the study is a working application that enables users to easily and intuitively encrypt their personal multimedia content on mobile devices. The thesis provides presentation of the application development and most common ios programming techniques used, as well as limitations and solutions to difficulties that occurred during development. IV

8 VSEBINA 1. UVOD MOBILNE TEHNOLOGIJE Evolucija mobilnih tehnologij Mobilni operacijski sistemi PLATFORMA ios Naprave ios Varnost in zaščita SDK (Software Development Kit) Xcode Programski jezik Objective-C ŠIFRIRANJE PODATKOV V APLIKACIJI Metoda šifriranja AES RAZVOJ APLIKACIJE SECURIT Funkcionalnosti aplikacije Omejitve pri razvoju Uporabljene metode in načrtovalski vzorci Uporabniški vmesnik ARC (Automatic reference counting) Testiranje SKLEP VIRI KAZALO SLIK Slika 3.1: Nivoji operacijskega sistema ios [1]... 9 Slika 3.2: Načrtovanje uporabniškega vmesnika v Storyboards [5] Slika 5.1: Aplikacijski peskovniki v ios Slika 5.2: Diagram načrtovalskega vzorca MVC Slika 5.3: Shema modelov v Core Data Slika 5.4: Primer inovativnega uporabniškega vmesnika aplikacije Clear [17] V

9 Slika 5.5: Delovanje komponente JZMenu Slika 5.6: Uporaba komponente JZUnlockView Slika 5.7: Prikaz komponente na ipadu (levo) in iphonu (desno) Slika 5.8: Poraba pomnilnika z neoptimiziranim načinom uvoza podatkov Slika 5.9: Prikaz porabe pomnilnika z optimiziranim načinom uvoza podatkov KAZALO TABEL Tabela 2.1: Tržni delež operacijskih sistemov 6. septembra 2012 [11]... 7 KAZALO IZSEKOV PROGRAMSKE KODE Izsek kode 3.1: Definicija in implementacija razreda v Objective-C Izsek kode 3.2: Uporaba objekta tipa Razred Izsek kode 3.3: Definicija in deklaracija protokola Izsek kode 3.4: Definicija in implementacija kategorije Izsek kode 5.1: Razredna metoda za pomoč pri šifriranju podatkov Izsek kode 5.2: Razredna metoda za dešifriranje podatkov v obliko UIImage Izsek kode 5.3: Kreiranje objekta tipa NSObject Izsek kode 5.4: Sproščanje pomnilnika brez sistema ARC Izsek kode 5.5: Optimizirana koda za uvoz podatkov VI

10 UPORABLJENE KRATICE API Application Programming Interface PDA Personal Digital Assistant OS Operating System DOS Disk Operating System HTML Hyper Text Markup Language SDK Software Development Kit SMS Short Message Service MMS Multimedia Messaging Service AES Advanced Encryption Standard MDM Mobile Device Management ARC Automating Reference Counting JSON JavaScript Object Notation GPS Global Positioning System BSD Berkeley Software Distribution DHCP Dynamic Host Configuration Protocol MVC Model View Controller VII

11 1. UVOD Živimo v dobi informacijskih tehnologij, kjer sta jezikovna in računalniška pismenost vedno bolj enakovredni, saj so se elektronske naprave zlile v naša življenja. Brez elektronskih pripomočkov si vsakdana več ne moremo predstavljati, okoli sebe pa skoraj ne najdemo človeka, ki ne bi znal na mobilnem telefonu vsaj izvesti klica ali poslati sporočila SMS. V preteklosti je bila situacija drugačna, saj so bili tisti, ki so znali uporabljati računalniške terminale, pravi tehnološki guruji. Takrat je bila tehnologija namenjena predvsem znanstvenikom, danes pa nam skoraj ne more biti bliže, saj jo nosimo v svojih žepih, torbicah in kovčkih. Uporabniki sodobnih tehnologij smo vedno večkrat prisiljeni, da skrbimo za varnost svojih spletnih profilov. Ob kreiranju gesel je vse več spletnih portalov, kjer moramo obvezno vpisati močno geslo vsaj ena velika in ena mala črka, vsaj ena številka, vsaj en poseben znak... Kljub temu pa marsikdo pozabi, da tudi na svojem pametnem telefonu nosi zelo občutljive podatke. Sodobni mobilni telefoni so veliko več kot pa samo telefoni. So multimedijske naprave, s katerimi lahko uporabniki ustvarjamo skoraj vrhunske fotografije in video posnetke. Zasebnost teh vsebin marsikdo jemlje za samoumevno, čeprav temu ni tako. Hitro se lahko zgodi, da naša pametna naprava pride v roke nepridipravu ali pa zgolj prijatelju, ki rad brska po tujih stvareh. Takšne situacije so lahko neprijetne, saj marsikdo ne upošteva dejstva, da določene vsebine na mobilnikih niso dovolj zavarovane. Razvoj mobilnih aplikacij je trenutno v polnem razmahu in strokovnjaki predvidevajo, da se bo vedno več spletnega prometa selilo na mobilne telefone. Razlog, da se podjetja odločajo za mobilne platforme, je preprost. Izkušnja, ki jo uporabniki doživijo med uporabo storitev, je danes najpomembnejša, prav mobilne platforme pa že omogočajo ogromno funkcionalnosti in možnosti interakcije. Z razvojem mobilnih tehnologij bo načinov interakcije še več, kar za razvijalce pomeni skoraj neskončen potencial za ustvarjanje aplikacij, ki lajšajo življenje ali kako drugače prinašajo zadovoljstvo v uporabnikov vsakdan. Iz tega razloga smo si za cilj diplomskega dela izbrali implementacijo aplikacije za mobilno platformo ios, ki bo uporabniku omogočala varovanje fotografij in video posnetkov na mobilni napravi. Aplikacija bo fotografije in video posnetke iz sistemske galerije ali kamere v napravi ios šifrirala ter jih uvozila v lastno galerijo, ki bo na ogled možna samo s prednastavljenim geslom. S tem bomo poskrbeli za dodatno zaščito občutljivih multimedijskih vsebin, ki jih želi uporabnik zaščititi. 1

12 Na tržišču so vsaj tri velike mobilne platforme (ios, Android, Symbian), vendar bomo v tem diplomskem delu razvijali za mobilno platformo ios, ki ima trenutno drugi največji delež med napravami, kar je predstavljeno v podpoglavju 2.2. Čeprav imamo na mobilnikih še druge osebne informacije (sporočila SMS, e-pošta, zapiski ), se bomo omejili na varovanje multimedijskih vsebin. Na tržnicah mobilnih aplikacij že obstajajo rešitve, ki ponujajo šifriranje podatkov, vendar smo po testu le-teh ugotovili, da je v večini primerov uporabniška izkušnja slaba (nejasne funkcije, nedodelan design, preveč možnosti nastavitev...) in verjamemo, da jo je moč izboljšati. Začetna poglavja na kratko predstavijo mobilne tehnologije in njihov razvoj skozi čas. Podrobneje je opisana izbrana platforma ios, zatem uporabljena metoda šifriranja, ki ji sledi glavni del dokumentacije, v katerem je predstavljen razvoj aplikacije Securit. Opisane so najpogostejše metode in tehnologije, ki se uporabljajo pri razvoju aplikacij ios ter orodje, s katerim lahko analiziramo delovanje aplikacij. 2

13 2. MOBILNE TEHNOLOGIJE Mobilni telefoni so že nekaj časa z nami, vendar vedno večji delež mobilnikov predstavljajo t.i. pametni telefoni, ki so še korak višje od klasičnih, starodobnih mobilnikov s skopim naborom funkcionalnosti. Pametni telefon je po definiciji naprava, ki temelji na mobilni platformi z možnostjo opravljanja naprednejših funkcij. V začetku je to pomenilo, da je bil pametni mobilnik nekakšen hibrid med takrat aktualnimi dlančniki (ang. personal digital asistant), klasičnimi mobilnimi telefoni in pa žepnimi kamerami. Danes so najnovejši pametni mobilniki precej dober nadomestek osebnega računalnika, saj lahko z njihovo pomočjo brskamo po spletu, snemamo visoko-ločljivostne video posnetke, merimo srčni utrip, rezerviramo letalske karte in z lahkoto opravljamo še nešteto drugih opravil. Naprave, ki navidezno mejo med mobilnikom in osebnim računalnikom še hitreje brišejo, pa so t.i. tablice (ang. tablet), ki se ponašajo z večjimi zasloni, kar še dodatno olajša marsikatero opravilo Evolucija mobilnih tehnologij Začetki pametnih mobilnikov segajo daleč v digitalno preteklost. Prvi poskusi pametnih mobilnikov oz. takrat PDA-jev (Personal Digital Assistant) so se pojavili leta 1992, ko je IBM predstavil model Simon, čeprav takrat še ni nosil naziva pametni telefon. S Simonom so kupci lahko poleg klicanja pošiljali še faks in e-pošto, vodili evidenco kontaktov in sestankov, uporabljali kalkulator, uro in celo igrali igre. Imel je tudi zaslon na dotik, kar je pomenilo odsotnost fizične numerične tipkovnice. V devetdesetih letih velika večina mobilnih telefonov ni nudila dodatnih funkcionalnosti in so bili uporabniki, takrat predvsem poslovneži, prisiljeni poleg mobilnega telefona s sabo nositi tudi dlančnik, ki je imel enega od operacijskih sistemov Palm OS, BlackBerry OS ali WindowsCE/Pocket PC. Nokiin model N9000, ki je luč sveta ugledal leta 1996 in s tem postal prvi njihov pametni mobilnik, je dobesedno združil mobilni telefon (njihov najbolje prodajani takrat) in drag PDA podjetja Hewlett-Packard. Na zunanji strani naprave je bil prej omenjeni Nokiin telefon, ki je omogočal osnovne funkcionalnosti, na notranji strani pa je bilo moč upravljati s PDA-jem. Napravi sta bili povezani s tečaji, ki so omogočali uporabniku, da je napravo odprl kot nekakšen mini prenosnik, ki je v notranji strani skrival tipkovnico QWERTY in zaslon visoke ločljivosti (640 x 200 točk). Operacijski sistem na napravi je bil GEOS V3.0, ki je tekel na DOS-u; nudil je e-poštno komunikacijo, ki je bila takrat zelo dobrodošla funkcionalnost. 3

14 Leta 2007 je na trg prišel Applov prvenec iphone, ki je kljub visoki ceni (499 $) hitro prirasel k srcu milijonom uporabnikom. Za interakcijo je skrbel zaslon diagonale 9 cm in ločljivosti 320 x 480 točk ter samo 5 fizičnih gumbov, od katerih samo en gumb (Home button) upravlja z uporabniškim vmesnikom Mobilni operacijski sistemi Na trgu imamo potrošniki in razvijalci na voljo veliko različnih modelov mobilnih naprav, z njimi pa tudi različne operacijske sisteme. Medtem, ko se potrošniki pri nakupu odločajo predvsem na podlagi funkcionalnosti operacijskega sistema ter tehničnih specifikacij naprave, je razvijalcem v prvi vrsti najbolj smotrno izbrati platformo, kjer je potencialnih kupcev izdelkov največ, ob tem pa je potrebno upoštevati tudi težavnost razvoja. V diplomskem delu smo za razvoj izbrali mobilno platformo ios. Po izkušnjah s platformami Android, Windows Phone 7 in ios ugotavljamo, da z razvojem na izbrani platformi lahko podpremo vse naprave ios z manj truda, kot pri razvoju na platformi Android, kjer je raznolikih naprav več. Platforma Windows Phone 7 trenutno ni dovolj razširjena, da bi bil razvoj smiseln, kar v naslednjem podpoglavju prikazuje tabela 2.1. Na prihodnjih straneh so opisane mobilne platforme, ki so trgu vladale včasih in danes. Symbian Prva naprava, ki se je tržila kot pametni mobilnik je bil Ericssonov R380, katerega je poganjal Symbian OS. Združeval je funkcionalnosti klasičnih mobilnikov in PDA-jev. Na trg je prišel leta 2000, dve leti kasneje pa mu je sledil model P800. Tudi Nokia je svojim napravam namenila Symbian OS, katerega je prvi imel model 9210 communicator. Slednji je imel prvi barvni zaslon v tej liniji. Communicator serije so bile znane predvsem po njihovi nedosegljivosti, saj so bile v povprečju od 20 do 40 % dražji od naslednjega najdražjega mobilnika. Leta 2007 je Nokia predstavila N95, ki se je ponašal z večpredstavnostnimi funkcionalnostmi, kot so GPS, fotoaparat s 5 milijoni točk in bliskavico, 3G in Wi-Fi povezljivost ter izhod za TV. Postavil je temelje za vse pametne mobilnike, ki so mu sledili. N8, prav tako iz Nokiine hiše, je leta 2010 s svojim sistemom satelitske navigacije veljal za najboljšega med mobilniki. Prav tako je bila njegova kamera z možnostjo snemanja v visoki ločljivosti 720p med najboljšimi. Podatki podjetja Gartner kažejo, da je Symbian OS od leta 1996 kraljeval na trgu, dokler ga ni leta 2011 prehitel Googlov Android OS[17]. 4

15 Android Android je odprtokodna platforma, ki jo je v prvi vrsti podprl Google, hkrati pa tudi proizvajalci strojne in programske opreme, kot so HTC, ARM, Motorola, Samsung in drugi, ki sestavljajo Open Handset Alliance. Prvi mobilnik, ki je debitiral z Androidom, je bil HTC Dream, ki so ga v ZDA oglaševali kot G1. Prednameščene je imel Googlove Maps, Calendar, Gmail in HTML spletni brskalnik. Google je hkrati predstavil tržnico Google Market (zdajšnji Google Play), iz katere lahko uporabniki na svoje mobilnike prenašajo brezplačne in plačljive aplikacije. V začetku leta 2010 je Google predstavil Nexus One, ki je veljal za razvijalski mobilnik in je služil predvsem razvoju aplikacij in širjenju Android Marketa. Windows Mobile/Windows Phone Windows Mobile je prednik Windows Phone sistema, ki si v praksi ne deli popolnoma nobenega dela svojega drobovja z novejšim Windows Phone. Zadnja verzija bo za vedno ostala 6.5.5, kar pa pomeni, da uporabniki starejših mobilnikov nikoli ne bodo morali posodobiti programske opreme na Windows Phone (verzija 7). Windows Phone je prinesel kar nekaj novosti, med katerimi izstopa nov oblikovalski jezik, ki ga je Microsoft poimenoval Metro. Omejitev, ki jo WP7 prinaša, je predvsem tesna povezanost s strojno opremo, kar posledično določa minimalne zahteve, ki jih morajo proizvajalci mobilnikov upoštevati. BlackBerry OS Podjetje RIM je leta 1999 vstopilo na trg mobilnikov z modelom 850, ki je bil praktično dvosmerni pozivnik. Leta 2003 je podjetje predstavilo bolj znan pametni mobilnik BlackBerry, ki je že imel naprednejše funkcionalnosti, med njimi e-poštni odjemalec, faksiranje po internetu, spletni brskalnik in ostale brezžične storitve. Glavna prednost, ki je odgovorna za uspeh BlackBerryja, je tesna integracija e-pošte. Skoraj vsi modeli, z izjemo Storm in novejšega Torch, so imeli QWERTY tipkovnico, prilagojeno za uporabo s palci. Sprva je bila navigacija implementirana s pomočjo fizičnega koleščka, ki je bil nameščen na desni strani naprav, kasneje ga je zamenjala navigacijska kroglica, najnovejši modeli pa imajo namesto kroglice optični sledilnik (ang. trackpad). Bada Operacijski sistem Bada so razvili inženirji pri Samsungu, ime pa izvira iz besede ocean ali morje (v korejščini). Najavili so ga leta 2010 z modelom Wave S8500. Kmalu zatem 5

16 so ga podprla večja podjetja, med katerimi so bili Twitter, Electronic Arts, Capcom, Gameloft in Blockbuster. Kasneje v letu 2010 je Samsung izdal še beta verzijo paketa razvijalskih orodij, da bi pridobil nekaj razvijalcev. Dodatno so povečali zanimanje še s tekmovanjem Bada Developer Challenge, ki je vseboval nagradni sklad v višini 2,7 milijona ameriških dolarjev. Poleti 2010 so objavili prvo uradno verzijo (1.0) SDK-ja. Leto kasneje so objavili verzijo 2.0, ki je trenutno aktualna različica. ios Apple je leta 2007 predstavil iphone, ki je postavil nove mejnike s svojim velikim zaslonom na dotik, katerega je bilo možno upravljati kar s prsti in ne več s palčkami (ang. stylusi) ali fizičnimi tipkovnicami, in je omogočal več-prstno upravljanje (ang. multi-touch), prav tako pa je s svojim spletnim brskalnikom Safari prekosil vso konkurenco. Kljub temu so strojne specifikacije iphonea za konkurenco zaostajale, prav tako operacijski sistem ni nudil nekaterih osnovnih funkcij, kot so kopiranje in lepljenje besedila, večopravilnost, premeščanje aplikacij na zaslonu in pošiljanje sporočil MMS. Omogočal ni niti nameščanja dodatnih aplikacij, kar je Apple še istega leta popravil in na konferenci WWDC (World Wide Developer Conference) najavil, da bo iphone podpiral zunanje web 2.0 aplikacije v spletnem brksalniku. Leto kasneje je Apple izdal iphone 3G, ki je poleg ostalih novosti prinesel App Store, kar je pomenilo, da so uporabniki lahko nameščali avtohtone aplikacije, ki jih je v začetku bilo le 500, danes pa jih naštejemo že Leta 2010 je Apple predstavil ios 4 in iphone 4 z osupljivim zaslonom (640 x 960 točk), leta 2011 pa iphone 4S in ios 5. Slednji je podrl rekord v prodaji, saj so kupci v 24 urah prednaročili 1 milijon naprav in s tem prekosili prodajo modela 4. generacije za kar Leta 2012 je iphone 5. generacije ponovno podrl rekorde in dosegel 2 milijona prednaročil v prvih 24-ih urah. Tržni delež operacijskih sistemov Podatki v spodnji tabeli so povzeti s spletne strani in prikazujejo tržni delež operacijskih sistemov septembra V primerjavi z lanskimi tržnimi deleži pridemo do ugotovitve, da Android močno raste, Apple je kljub skoraj 2- odstotnem padcu ostal na drugem mestu, Microsoft je svoj delež povečal, ostalim pa je delež na račun Androida padel in trenutno ne predstavljajo konkurence vodilnima na trgu. 6

17 Tabela 2.1: Tržni delež operacijskih sistemov 6. septembra 2012 [11] Operacijski sistem (proizvajalec) Število prodanih naprav (v milijonih) Tržni delež (%) Tržni delež lani (%) Android (Google Inc.) 104,8 68,1 46,9 ios (Apple Inc. iphone) BlackBerry (Research in Motion Ltd.) 26,0 16,9 18,8 7,4 4,8 11,5 Symbian (Nokia Corp.) 6,8 4,4 16,9 Windows (Microsoft Corp.) 5,4 3,5 2,3 Linux 3,5 2,3 3,0 Drugi 0,1 0,1 0,5 Varnost in zasebnost V preteklosti so bile mobilne naprave tarče napadov s sporočili SMS in MMS ter napadov preko protokola Bluetooth. Uporabnik je lahko ob odprtju sporočila SMS, ki je vseboval kitajsko pismenko, postal žrtev napada DDoS 1. V sporočilih MMS so lahko napadalci kot priponko poslali virus, ki je ob odprtju posredoval isti MMS vsem osebam v imeniku okužene naprave. Nekateri starejši Nokiini modeli pa celo niso preverjali dolžine naslova v poslanih e-poštnih sporočilih, kar je lahko privedlo do neodzivanja storitve Nokia Mail, v kolikor je bil naslov daljši od 32 znakov. Zlorabe Bluetootha so se pojavile kasneje, napadalci pa so ciljali predvsem na protokol paritve naprav, ki sprva ni imel dobro implementirane varnosti. Med bolj znane vrste napadov spada t.i. Bluejacking, ki napravi ne povzroči škode ali kakorkoli drugače vpliva na podatke, ampak zgolj prikaže fotografijo ali besedilo, ki jo napadalec pošlje. Leta 2008 je Bluetooth v2.1 že znal precej bolje skrbeti za varnost, kar je pomenilo tudi pomanjkanje zanimanja napadalcev za to vrsto napadov. Z vedno večjim številom mobilnih naprav na trgu pa raste tudi zanimanje hekerjev za napade na le-te. Vrste napadov so se spremenile in so bolj podobne napadom na osebne 1 Distributed-denial-of-service napad poskuša napravo onemogočiti s pošiljanjem velike količine različnih zahtevkov, ki jih naprava ne more pravočasno in učinkovito obdelati. 7

18 računalnike, zato igrajo tržnice z aplikacijami (Google Play, App Store, Windows Marketplace ) pomembno vlogo pri zaščiti uporabnikov. Avgusta 2010 je podjetje Kaspersky Lab poročalo o prvem trojanskem konju Trojan-SMS.AndroidOS.FakePlayer.a, ki je okužil veliko naprav z operacijskim sistemom Android. Google nosi del krivde za incident, saj aplikacij pred objavo na tržnici Play (takrat Android Market) ne pregleduje, ampak se s tem ukvarja kasneje, v kolikor se ugotovi, da aplikacija vsebuje zlonamerno kodo. Na drugi strani pa Applovi uslužbenci vsako aplikacijo dobro testirajo in analizirajo delovanje ter s tem zagotovijo varnost in določen nivo kvalitete, preden sploh odobrijo objavo v App Storu. Testirajo tudi vsako posodobitev aplikacije, saj bi lahko razvijalec oz. heker v aplikacijo naknadno dodal škodljivo funkcionalnost. Testiranje uporabnikom aplikacij zagotavlja brezskrbnost uporabe, za razvijalce pa mnogokrat lahko pomeni neželeno zakasnitev objave aplikacije, kajti postopek pregleda v povprečju traja 10 delovnih dni. Pohvalo je Apple prejel junija 2011, ko je podjetje Symantec v 23-stranskem poročilu z naslovom A Window Into Mobile Device Security razglasilo naprave ios 2 za popolnoma varne pred zlonamernimi napadi. Uporabniki pa moramo kljub vsej zaščiti naprav ravnati odgovorno in se poslužiti vseh varnostnih pripomočkov ter si s tem čim bolj zavarovati podatke. Z aplikacijo, ki smo jo razvili, uporabnikom nudimo in predvsem olajšamo postopek zaščite osebnih multimedijskih vsebin. 2 Velja za naprave ios, ki imajo nameščen uradni Applov operacijski sistem in ne prirejenih različic. 8

19 3. PLATFORMA ios ios oz. na začetku iphone OS je mobilni operacijski sistem, ki so ga razvili pri Applu. Prva verzija je poganjala iphone prve generacije in ipod touch, sčasoma pa se je razširila na ostale Apple naprave. Trenutno poganja poleg omenjenih še ipad in Apple TV. Posebnost ios pred konkurenti je, da Apple ne dovoljuje nameščanja operacijskega sistema na ostale naprave, ki niso znamke Apple. Podjetje uporablja za distribucijo aplikacij tržnico App Store, ki je konec leta 2012 ponujala že aplikacij in skupno beleži več kot 30 milijard prenosov. Januarja 2012 je podjetje izdalo podatek, da so registrirani razvijalci s prodajo aplikacij zaslužili že 4 milijarde evrov. Tržni delež operacijskega sistema znaša za obdobje Q ,9 % in zaostaja samo za Googlovim Androidom. V svetu spletnih komunikacij krepko vodi, saj je odgovoren za kar 65 % prometa, katerega izvor je 410 milijonov ios naprav. V času pisanja je aktualna verzija ios 5.1.1, katere glavna verzija 5.0 je prinesla več kot 200 novih funkcionalnosti. Med odmevnejšimi so center za obveščanje (ang. Notification Center), kiosk (ang. Newsstand), ki na enem mestu ponuja pregled nad digitalnimi publikacijami in integrirana podpora za Twitter. ios je osnovan na OS X, kar pomeni, da si z njim deli temelje Darwin in ga lahko obravnavamo kot operacijski sistem Unix. Vsebuje 4 nivoje abstrakcije in sicer Core OS, Core Services, Media nivo in pa Cocoa Touch, ki so prikazani na sliki 3.1. Coca Touch Media Core Services Core OS Slika 3.1: Nivoji operacijskega sistema ios [1] Uporabniški vmesnik Apple si je že od samih začetkov prizadeval za enostavnost uporabe njihovih izdelkov in na ios napravah smo priča najboljši izvedbi te filozofije. Uporabniški vmesnik je enostaven in je osnovan na temelju neposredne manipulacije s prsti. Omogoča 9

20 manipulacijo z več-prstnim dotikom (ang. multi-touch gesture), funkcije pa nadzorujemo z gumbi, stikali in drsniki. Uporabnik lahko podrsa, se dotakne ali uščipne zaslon, vsaka gesta pa ima znotraj operacijskega sistema svojo funkcijo. Fizični senzorji še dodatno izboljšajo uporabniško izkušnjo, saj lahko razvijalci dostopajo do merilnika pospeškov (ang. accelerometer) in z njegovo pomočjo dodajo funkcionalnosti svojim aplikacijam. V kolikor želimo uporabniški vmesnik prilagoditi za vse naprave ios, moramo praviloma načrtovati 3 različice modeli iphone in ipod touch pred letom 2012, iphone 5 in ipad. V prihodnjem poglavju je predstavljena evolucija naprav ios, na katerih je možen razvoj aplikacij Naprave ios Trenutna družina naprav ios šteje 3 različne tipe naprav in sicer iphone, ipad in ipod touch. Prvi iphone iz leta 2007 je že skoraj pozabljen, naslednji model iphone 3G pa je leto kasneje dosegel kar milijon uporabnikov v roku enega meseca od datuma izida. Še bolj popularen je postal iphone tretje generacije 3GS, ki je dodatno izboljšal prodajo, saj je bilo v treh dneh od izida prodanih že milijon primerkov. Četrti na vrsti je bil model iphone 4, ki se med drugim ponaša s popolnoma novim designom, ohišjem iz žlahtnih materialov (aluminij in steklo) ter 9-centimetrskim zaslonom z ločljivostjo 960 x 640 točk, kar pomeni, da je na kvadratnem palcu 3 kar 326 grafičnih točk. Zaslon nosi marketinško ime Retina display, ker je gostota točk tako velika, da človeško oko na povprečni razdalji gledanja ne zazna posameznih točk. iphone 4 je s seboj prinesel tudi ios 4, katerega glavna novost je bila večopravilnost (ang. multitasking). iphone 4S, ki je do pred kratkim bil najnovejši član družine, ima boljši fotoaparat z osmimi milijoni točk in inteligentnega osebnega asistenta Siri. Slednji je bil sprva na voljo kot aplikacija na tržnici App Store, kasneje pa je Apple kupil podjetje Siri Inc. in aplikacijo integriral v operacijski sistem. Pred kratkim pa se je mobilnikom pridružil še iphone 5. generacije, ki ima višji zaslon, je tanjši in ga poganja še močnejši procesor A6. Prednameščen ima tudi ios 6, ki zopet prinaša več kot 200 novih funkcionalnosti. Septembra 2007 je za prvim iphonom luč sveta ugledal prenosni medijski predvajalnik ipod touch. Strojno in programsko opremo je imel skoraj enako kot iphone, z izjemo 3 Angleška in ameriška mera, ki znaša 2,54 centimetrov. 10

21 fotoaparata, možnosti povezave na mobilna omrežja, zvočnikov, mikrofona in kompasa. Na voljo so bili modeli s kapaciteto 8, 16 in 32 gigabajtov. Naslednja revizija je podpirala funkcionalnost Nike+ 4, dobila pa je tudi gumba za glasnost in zvočnike. Tretja generacija je ponujala predvsem več pomnilnika, hitrejši procesor in boljšo grafično kartico. Novost je bil tudi sistem VoiceOver, ki je omogočal interakcijo z napravo s pomočjo glasovnih ukazov. Za razliko od predhodnikov, sta bili tokrat na prodajnih policah samo dve različici 16 in 32 GB. Trenutno aktualna različica ima aplikacijo FaceTime, ki s pomočjo kamere na sprednji strani naprave omogoča video pogovore, zaslon Retina in kamero na zadnji strani, ki je sposobna zajemati slike v ločljivosti 960 x 720 točk ter video v ločljivosti 720p 5. Tablični računalnik ipad je aprila 2010 povzročil novo evforijo med pristaši Applovih izdelkov in s svojim 25-centimetrskim zaslonom ponujal več prostora za lažje branje publikacij, urejanje dokumentov in ostala opravila, ki zahtevajo večji zaslon. ipad je imel ob izidu nameščen operacijski sistem ios 3.2, ki je bil prilagojen samo za ipada, na voljo pa je bil tudi ios 3.2 SDK. Novembra 2010 je na naprave prišla posodobitev 4.2.1, ki pa je bila univerzalna za vse naprave. SDK je zdaj ponujal nove grafične elemente in krmilnike, ki bolje izkoristijo večjo površino na zaslonu ipada. Leto kasneje je ipad dobil zamenjavo, ki je imela podvojen pomnilnik (zdaj 512 MB), novejši procesor in dve kameri. Marca 2012 pa je novi ipad zadovoljil želje uporabnikov in postregel z zaslonom Retina, ki prikazuje sliko v ločljivosti 2048 x 1536 točk. Da lahko naprava prikazuje sliko v visoki ločljivosti, ima tudi zmogljivejši procesor, 1024 MB pomnilnika in boljšo grafično kartico Varnost in zaščita Platforma ios je bila zasnovana z zaščito v mislih Applovih inženirjev. Dejstvo, da gre za mobilno platformo, pomeni, da imajo uporabniki naprave s seboj, kamorkoli gredo. To pomeni, da so na napravah shranjeni občutljivi podatki in lahko zloraba takšnih podatkov vodi do mnogo neprijetnosti, zato mora biti za varnost dobro poskrbljeno. Naprave ios nudijo striktno zaščitno v operacijskem sistemu samem, kar pomeni, da uporabniku ni potrebno dodatno konfigurirati varnostnih opcij za popolno zaščito. 4 Sistem, ki s senzorjem v športnih copatih in aplikacijo Nike+ Running omogoča spremljanje fizične aktivnosti uporabnika. 5 Format video signala, ki ima 720 horizontalnih linij in razmerje slike 16:9. 11

22 Mobilne naprave, ki tečejo na platformi ios, so zasnovane s štirimi nivoji zaščite, ki so podrobneje opisani v spodnjih odstavkih. Najnižji nivo ščiti pred škodljivo programsko opremo, v naslednjem je poskrbljeno za šifriranje in varovanje podatkov, sledi omrežna zaščita, najvišji nivo pa omejuje dostop do osebnih podatkov in preprečuje nedovoljeno uporabo. System Architecture Močna integracija strojne in programske opreme omogoča preverjanje aktivnosti v vseh nivojih naprave od zagona naprave do namestitve in poganjanja aplikacij. Sistemska funkcija, ki igra veliko vlogo pri zagotavljanju varnosti, se imenuje App Code Signing in določa, kateri uporabniški procesi in aplikacije se lahko poganjajo. Aplikacije morajo biti podpisane z Applovim certifikatom, kar zagotavlja, da je njihov izvor znan in preverjen. V kolikor aplikacija ni podpisana, sistem njenega izvajanja ne dovoli. Encryption and Data Protection Poleg nadzora nad zagonom aplikacij nudi ios še dodatno zaščito datotek. Vse naprave ios imajo možnost vklopa funkcije, ki pred uporabo naprave od uporabnika zahteva vnos 4-mestne številke ali poljubnega alfanumeričnega gesla. V kolikor ima uporabnik nastavljeno omenjeno varovanje, se vse datoteke lahko šifrirajo s strojno implementacijo standarda AES. Vsaka aplikacija, ki datoteko ustvari, ji določi razred načina šifriranja, ki definira v katerih primerih se datoteka zašifrira in dešifrira. Network Security Šifriranje datotek dopolnjuje nivo omrežne varnosti, ki podpira SSL (Secure Sockets Layer) in TLS (Transport Layer Security) ter omogoča povezavo naprav ios v omrežja VPN 6. Podprti so tudi standardni Wi-Fi-protokoli EAP-TLS, EAP-TTLS, EAP-FAST, EAP- SIM, PEAPv0, PEAPv1 in LEAP. Bluetooth v ios je bil zasnovan z namenom zagotavljanja funkcionalnosti brez povečanega dostopa do zasebnih podatkov, zato v uradnih verzijah ios datotek preko protokola Bluetooth ni možno prenašati, so pa naprave skladne z varnostnimi načini Encryption Mode 3, Security Mode 4 in Service Level 1. 6 Virtual Private Network je tehnologija, ki omogoča povezavo oddaljenih računalnikov preko varnih tunelov v skupno omrežje, ki je izolirano od ostalih naprav v internetu. 12

23 Device Access Na napravah ios lahko nastavimo varnostno politiko, ki administratorjem omogoča določitev varnostnih zahtev, ki jih morajo uporabniki naprav upoštevati. Zahteve lahko vključujejo pravila za nastavljeno geslo za odklep naprave, pravila za uporabo naprave, ki lahko omejijo dostop do določenih funkcionalnosti naprav in druga pravila, s katerimi zagotovimo varno uporabo naprav. ios ponuja tudi izbris vseh podatkov na napravi na daljavo s pomočjo Applovega MDM 7 ali storitve icloud SDK (Software Development Kit) SDK je paket orodij, ki omogočajo razvoj avtohtonih aplikacij ios, razvijalcem pa je na voljo od marca Za dostop do programske opreme in dokumentacije potrebujemo uporabniški račun Apple ID, s katerim se registriramo na razvijalskem portalu ios Dev Center. Z brezplačnim uporabniškim računom imamo omogočen razvoj programske opreme in testiranje v simulatorju iphone ki je priložen v SDK-ju. Razvijalci, ki bi radi svoje izdelke testirali na dejanskih napravah in/ali jih distribuirali v App Storu, morajo poseči po plačljivem računu, ki trenutno znaša 99 $ na leto. K temu računu pripada tudi klic na Applovo podporo, kjer njihovi inženirji pomagajo rešiti morebitno težavo, na katero lahko naleti lastnik računa. V kolikor ima razvijalec objavljene aplikacije, mora vsako leto poravnati strošek članarine, saj v nasprotnem primeru vse njegove aplikacije postanejo neaktivne in niso več vidne v App Storu. Naslednja podpoglavja opisujejo nabor funkcionalnosti, ki jih SDK nudi razvijalcem. Cocoa Touch Cocoa je Applovo objektno orientirano ogrodje za operacijski sistem OS X, za ios pa je na voljo Cocoa Touch. Glavni knjižnici sta Foundation Kit oz. Foundation, ki vsebuje osnovne razrede s predpono NS (izvor: NeXTStep 8 ) in metode za delo z objekti ter UIKit, ki velja za osnovo grafičnega uporabniškega vmesnika. Cocoa podpira tudi prevajanje standardne kode C, kar omogoča mešanje programskih jezikov C, C++ in Objective-C. 7 Programska oprema, s katero lahko upravljamo z mobilnimi napravami, kar vključuje namestitev aplikacij, pregled delovanja, zaklep naprav in druge funkcionalnosti, odvisno od implementacije. 8 Objektno orientiran operacijski sistem, razvit v podjetju NeXT, ki ga je ustanovil Steve Jobs, kmalu zatem, ko je bil odpuščen iz podjetja Apple. 13

24 Razlika med Cocoa in Cocoa Touch je poleg nivoja za interakcijo z dotikom še upravljanje s pomnilnikom (ang. memory management). V prvem za ravnanje s pomnilnikom skrbi t.i. pobiralec smeti (ang. garbage collector), Cocoa Touch pa z verzijo Xcode 4.0 omogoča ARC (Automatic Reference Counting). Opcija ARC, ki jo razvijalec lahko vključi v projektu, pomeni, da mu praviloma ni potrebno skrbeti za ravnanje z objekti (kreiranje, uničevanje). Naprednejši razvijalci so skeptični glede te funkcije in še vedno prisegajo na ročno upravljanje s pomnilnikom, kar pomeni večji nadzor nad porabo in učinkovitostjo aplikacije. ARC je podrobneje opisan v poglavju 5.5. Omrežne storitve Priljubljena oblika monetizacije aplikacij so nakupi vsebin znotraj aplikacij (ang. in-app purchase). Za to skrbi Store Kit, ki omogoča razvijalcem prodajo navideznih dobrih za dejansko plačilo. Razvijalci imamo na voljo tudi storitev obveščanja Apple Push Notification service, ki nam omogoča pošiljanje obvestil uporabnikom. Obvestila so omejena z 256 bajti, lahko pa so samo v tekstovni obliki formata JSON 9. Z ogrodjem GameKit lahko z lahkoto dodajamo možnost večigralnosti (ang. multiplayer) svojim igram, kar omogoča igranje iger preko Bluetootha. Funkcionalnost, ki sicer ni tako zelo razširjena med uspešnejšimi aplikacijami, je iad. Čeprav nudi implementacijo oglasov z bogatimi multimedijskimi vsebinami znotraj aplikacije, se razvijalci raje odločajo za druge poslovne modele. Za uporabniško izkušnjo sta zanimiva ogrodja Map Kit in Core Location. Slednji z uporabo podatkov omrežne povezave ali GPS-a določa fizično lokacijo naprave, Map Kit pa omogoča razvijalcem, da v aplikacijo z lahkoto dodajo vse funkcionalnosti zemljevida. Med te spada uporaba plasti (ang. overlay), ki ponazarjajo določejo regijo na zemljevidu, posebne oznake (ang. annotation), prikaz trenutne lokacije in druge. Komunikacija s spletom poteka preko BSD-kanalov (ang. socket), protokol Bonjour 10 pa pomaga odkrivati ostale naprave v omrežju. Ogrodje Accelerate nudi zahtevnejšim razvijalcem matematične funkcije, specializirane za iphone, ipad in ipod touch, ki se lahko uporabljajo za razvoj iger ali drugih kompleksnejših 9 JavaScript Object Notation je format zapisa podatkov, podoben XML, vendar kompaktnejši in primernejši za prenos preko omrežij. 10 Applova implementacija omrežnih tehnik z imenom Zero configuration networking, ki ustvari omrežje brez potrebe po dodatnih nastavitvah DHCP (Dynamic Host Configuration Protocol) in DNS (Domain Name System). 14

25 aplikacij. Razvijalci imamo na voljo knjižnice za procesiranje signalov, osnovne vektorske in matrične operacije ter sistem za linerane enačbe. Media Za enostavnejšo uporabo za delo z grafiko skrbi knjižnica Quartz Core, za animacije Core Animation, za zahtevnejše razvijalce pa je na voljo tudi industrijski standard OpenGL ES, ki omogoča razvoj naprednih 3D iger. Predvajanje zvoka v iosu je domena ogrodja Media Player, za manipulacijo pa sta na voljo Core Audio in OpenAL. Apple razvijalcem dovoljuje tudi dostop do upravljanja s kamero (oziroma kamerama na novejših napravah) in knjižnice posnetih fotografij, dostopna pa je tudi zbirka vseh skladb v knjižnici. Core Services Apple zaradi priročnosti razvoja ponuja iphone Simulator, ki simulira dejansko napravo in s tem omogoča razvoj aplikacije brez testne naprave. Čeprav objava aplikacije brez testiranja na dejanski napravi ni priporočljiva, vseeno močno olajša delo, saj razvijalcem ni potrebno ob sebi vedno imeti tudi mobilne naprave. Vsaka aplikacija lahko podatke deli s katerokoli drugo aplikacijo s pomočjo modela URL, ki ga določa. Podprto je tudi pošiljanje e-pošte ali sporočil SMS. Za urejanje teksta imamo na voljo sistemsko odložišče (ang. clipboard), ki je na voljo v vseh aplikacijah. Funkciji, ki sta precej zanimivi, sta 3-osni giroskop in merilnik pospeškov (ang. accelerometer), s katerima lahko zaznavamo premikanje in položaj naprave. Knjižnica, ki skrbi za sprejemanje teh dogodkov, se imenuje Core Motion, brez katere si razvijalci iger razvoja skoraj ne morejo predstavljati. Tukaj velja omeniti še dostop do kompasa, ki ga lahko odlično povežemo s storitvami za zemljevid Xcode Priporočeno razvojno okolje, ki je najpogosteje uporabljeno za razvoj aplikacij ios (in tudi OS X), je Xcode. Prva verzija je bila samo nadgrajena različica Project Builderja, ki je bil razvit v podjetju NeXT in so ga uporabljali v operacijskem sistemu NeXTSTEP. V 11 letih razvoja so izdali še 3 velike nadgradnje in je tako trenutna stabilna verzija

26 Storyboards Pred verzijo Xcode 4.2 smo za načrtovanje uporabniškega vmesnika uporabljali program Interface Builder. Z njegovo pomočjo smo lahko ustvarjali datoteke XIB, v katerih smo s standardnimi gradniki sestavljali izgled uporabniškega vmesnika. Tak način dela je pomenil preklapljanje iz ene aplikacije v drugo in veliko število XIB-datotek za eno aplikacijo. Apple je z verzijo Xcode 4.2 in ios 5 SDK predstavil koncept snemalnih knjig (ang. storyboards), ki delujejo na principu velikega platna, na katerem imamo več pogledov (ang. View) za posamezne krmilnike. To nam omogoča lažje načrtovanje in boljšo predstavo o strukturi pogledov v aplikaciji, kar nam demonstrira slika 3.2. Slika 3.2: Načrtovanje uporabniškega vmesnika v Storyboards [5] 3.5. Programski jezik Objective-C Programski jezik, ki se uporablja za razvoj aplikacij, nosi ime Objective-C in je, kot je razvidno iz imena, objektno orientiran (v nadaljevanju OO) ter razširja standardni jezik ANSI C. Dodatki k jeziku C temeljijo na jeziku Smalltalk, ki je bil eden izmed prvih OO programskih jezikov. Glavni elementi jezika Objective-C so razredi, s pomočjo katerih ustvarjamo primerke (objekte). Osnovni razredi so združeni v različna ogrodja (ang. frameworks), katerih skupek nosi ime Cocoa. V spodnjih podpoglavjih je na kratko predstavljena sintaksa in 2 razvijalski tehniki, ki smo ju uporabljali tekom razvoja. 16

27 Sintaksa Sintaksa Objective-C izhaja iz Smalltalka in temelji na njegovem sistemu pošiljanja sporočil objektom. V Objective-C ne govorimo o klicanju metod, ampak o pošiljanju sporočil, saj v kodi pošiljamo sporočila, katerih naslovniki (objekti) so določeni tekom izvajanja, za odziv pa so odgovorni sami. Posledica takšnega sistema je, da pošiljanje sporočila ne zagotavlja prejetega odgovora, saj lahko naslovljen objekt v primeru, da na sporočilo ne zna odgovoriti, sproži izjemo in konča izvajanje aplikacije. Ob pravilni implementaciji pa sistem sporočanja omogoča pošiljanje enakega sporočila večim objektom, ki niso bili definirani pred izvajanjem. Objective-C zahteva, da sta vmesnik (definicija) in implementacija v ločenih sklopih kode, katerih začetek označimo konec pa Primer definicije, implementacije in uporabe preprostega razreda Objective-C razreda je prikazan v izseku kode 3.1. V kodi vidimo metodo description, ki jo vsebuje nadrazred NSObject in v privzeti implementaciji izpiše ime razreda ter naslov v pomnilniku. V razredu Razred to metodo prepišemo in določimo niz, ki ga želimo vrniti, ko bo objekt prejel sporočilo description. // Definicija #import Razred : (nonatomic, strong) NSString (nonatomic, strong) NSNumber (nonatomic) BOOL // Implementacija #import bit; - (NSString *)description { return [NSString stringwithformat:@"\nniz: %@\nstevilo: %@\nvrednost bita: %d", niz, stevilo, bit]; Izsek kode 3.1: Definicija in implementacija razreda v Objective-C 17

28 Če želimo Razred uporabiti, kreiramo objekt, kot prikazuje spodnji izsek kode. Nato lahko dostopamo do njegovih lastnosti in ga tudi izpišemo v konzolo z ukazom NSLog. Vsakič, ko objekt tipa NSObject želimo izpisati oz. prikazati vrednost na zaslonu, se pošlje objektu sporočilo description, ki smo ga v našem Razredu predefinirali. Ukaz NSLog tako izpiše vrednosti lastnosti objekta tipa Razred. Razred *primerek = [[Razred alloc] init]; primerek.niz je lastnost objekta primerek, ki je tipa Razred."; primerek.stevilo = [NSNumber numberwithint:3]; primerek.bit = NO; NSLog(@"%@", primerek); niz: Niz je lastnost objekta primerek, ki je tipa Razred. stevilo: 3 vrednost bita: 0 Protokoli Izsek kode 3.2: Uporaba objekta tipa Razred V Objective-C imajo lahko razredi samo enojno dedovanje, imamo pa zato na voljo protokole, s katerimi lahko dosežemo funkcionalnosti večkratnega dedovanja. V protokolu so definirane samo metode, implementirajo pa jih razredi, ki imajo označeno sledenje določenim protokolom. S tem pristopom lahko močno zmanjšamo količino ponavljajoče kode in izboljšamo preglednost. S protokoli se srečuje vsak razvijalec aplikacij ios, saj se pojavljajo že pri implementaciji tabel. Sintaksa definicije protokola in uporabe v skladnem razredu je prikazana v spodnjem izseku. // RazredniProtokol <NSObject> - // Razred : NSObject <RazredniProtokol> Kategorije Izsek kode 3.3: Definicija in deklaracija protokola Med razvojem smo se poslužili tudi metode programiranja, ki se v Objective-C imenuje kategoriziranje. Kategorije razširjajo že obstoječe razrede, katerih implementacija je razvijalcem skrita, lahko pa tudi svoje razrede razdelimo v več datotek s kategorijami, ki nudijo skupek podobnih funkcionalnosti. V spodnjem izseku kode vidimo kategorijo 18

29 DodajFunkcionalnost, ki razširja funkcionalnost razreda Razred. Kategorija ima prav tako dve datoteki s končnicama.h in.m. Edina razlika med razredom in kategorijo je v implementaciji kategorije, ki za imenom razreda vsebuje še svoje ime v oklepajih. // Definicija #import Razred (RazsirjenaFunkcionalnost) - (NSString // Implementacija #import Razred (RazsirjenaFunkcionalnost) - (NSString *)novafunkcionalnost { return [self.niz uppercasestring]; Izsek kode 3.4: Definicija in implementacija kategorije 19

30 4. ŠIFRIRANJE PODATKOV V APLIKACIJI Aplikacija Securit mora uporabniku zagotavljati varovanje uvoženih multimedijskih datotek. To pomeni, da je varovan vstop v aplikacijo in uporabnikove datoteke na napravi. V primeru fizičnega dostopa do datotek je zato brez dešifriranja ogled njihove vsebine onemogočen. V uradni različici operacijskega sistema ios je sicer fizični dostop do datotek aplikacije onemogočen, saj je datotečni sistem skrit pred uporabnikom, je pa dostop mogoč, v kolikor ima naprava nameščeno prirejeno verzijo (ang. jailbreak). Trenutno aktualna programska oprema, ki to omogoča, se imenuje Absinthe, ki med drugim ponudi uporabniku dostop do praviloma zavarovanih in zaklenjenih funkcij operacijskega sistema Metoda šifriranja AES Aplikacija bo morala šifrirati in dešifrirati veliko količino podatkov, zato smo se na podlagi raziskovanja po spletu in mnenj razvijalcev odločili za metodo AES, ki se je za šifriranje poslužuje tudi ios. AES je standard za šifriranje digitalnih podatkov, ki ga je vzpostavila ameriška institucija NIST (National Institute of Standards and Technology) in razpisala natečaj za izbiro najboljšega algoritma. Zmagovalca sta bila belgijca Vincent Rijmen in Joan Deamne z algoritmom Rijndael. AES je zasnovan na osnovi omrežja zamenjavapermutacija (ang. substitution-permutation network) in so zato strojne in programske implementacije hitre in enostavne. Do maja 2009 so bili edini uspešni napadi vseh štirih algoritmov AES t.i. napadi s stranskim kanalom (ang. side-channel attack), kljub temu pa je ameriška vlada razglasila AES kot dovolj varnega tudi za varovanje zaupnih informacij. Iskanje ustrezne implementacije AES Apple nudi knjižnico CommonCrypto, ki vsebuje razred CCCryptor, s pomočjo katerega lahko z različnimi algoritmi šifriramo podatke. Na spletu je moč najti mnogo različnih ovijalcev (ang. wrapper) za uporabo knjižnice CommonCrypto, zato smo izbrali 3 najpogostejše in testirali njihovo zmogljivost pri obdelavi večje količine podatkov. Postopek, s katerim smo testirali rešitve, je bil šifriranje in dešifriranje slike tipa JPEG v velikosti 5 megabajtov. 20

31 Prva rešitev, ki smo jo testirali, je bila NSData+CommonCrypto razvijalca Jima Doveya 11, ki je imela težave z upravljanjem pomnilnika in nima implementiranega naključnega kreiranja inicializacijskega vektorja (ang. kratica IV). Naslednji, ki ga priporoča večina razvijalcev na spletu, je bil RNCryptor avtorja Roba Napierja 12. Rešitev ima med drugim tudi možnost šifriranja SSL, vendar nas je zelo razočarala zmogljivost, saj je algoritem za šifriranje 5 megabajtov podatkov v povprečju potreboval kar 5 sekund. Tudi pri šifriranju/dešifriranju vzorca (niz znakov) za odklep aplikacije se je pojavljal zamik, kar je nesprejemljivo in pri aplikaciji z ogromno količino podatkov ne pride v poštev. Zadnja rešitev, ki se je med testiranjem izkazala za hitro in zanesljivo, tudi kar se ravnanja s pomnilnikom tiče, je bila NSData+AES, katere avtor je Robert C. Nix 13. Prikaz uporabe je skupaj s celotnim postopkom razvoja opisan v 5. poglavju. 11 Povezava na GitHub: 12 Povezava na GitHub: 13 Povezava na spletno stran avtorja: 21

32 5. RAZVOJ APLIKACIJE SECURIT Glavna funkcionalnost aplikacije Securit je šifriranje večpredstavnostnih vsebin, zato smo se osredotočili predvsem na preprost design in inovativen način interakcije po različnih sekcijah aplikacije. Razvili smo dve komponenti, ki sta objavljeni tudi na razvijalskem portalu GitHub pod uporabniškim imenom Stigec ( Prva komponenta se imenuje JZMenu in nudi enostaven in nestandarden meni, druga pa je JZUnlockView, ki omogoča verifikacijo s pomočjo vzorcev. Obe komponenti sta opisani kasneje v poglavju Funkcionalnosti aplikacije Aplikacija ob prvem zagonu zahteva določitev vzorca za dostop do vsebine in izbiro varnostnega vprašanja ter odgovora. Ob uspešnem vnosu se uporabniku prikaže pogled z navodili o uporabi aplikacije, po katerem se lahko premika s pomočjo menija. Ko uporabnik konča z uvodom, se prikaže glavni pogled aplikacije. Znotraj menija na glavnem pogledu ima uporabnik na voljo opcijo za uvoz multimedijskih vsebin, kreiranje novega albuma, določitev gesla ter varnostnega vprašanja in prikaz navodil. Ob izbiri opcije za uvoz podatkov mu aplikacija prikaže vse albume, ki jih ima na mobilni napravi, znotraj albumov pa lahko uporabnik izbere posamezne elemente ali pa celotno vsebino ter jih z uporabo menija uvozi v aplikacijo. Znotraj aplikacije je na voljo tudi zajem fotografije ali video posnetka s pomočjo kamere. Uvožene vsebine lahko uporabnik briše, jih prestavi v drug album, ali pa shrani nazaj v sistemsko galerijo. Albumom lahko spremeni ime, določi naslovno sličico, ali pa jih v celoti izbriše. Uporabnik mora ob vsakem zagonu aplikacije vnesti varnostni vzorec, s katerim odklene aplikacijo in lahko dostopa do podatkov. V kolikor trikrat vnese napačen vzorec, se mu prikaže pogled, kjer mora vnesti odgovor na varnostno vprašanje. Ob pravilnem odgovoru lahko uporabnik ponovno določi varnostni vzorec Omejitve pri razvoju Zaradi varnosti uporablja platforma ios sistem peskovnikov (ang. sandboxing). To pomeni, da ima vsaka aplikacija svoj peskovnik oz. prostor v pomnilniku naprave, kjer lahko shranjuje svoje podatke. Na sliki 5.1 vidimo strukturo peskovnikov v ios, ki jasno prikazuje ločene peskovnike posameznih aplikacij. Znotraj peskovnika ima vsaka aplikacija pravico do branja in zapisovanja podatkov, do peskovnikov ostalih aplikacij pa 22

33 dostopa nima. Za primere, ko želimo upravljati s podatki v drugih aplikacijah, moramo za svojo aplikacijo v konfiguraciji registrirati tipe podatkov, ki jih je zmožna obdelati. V kolikor je aplikacija uspešno registrirana, lahko ios asociira tipe podatkov oz. datotek in omogoči zagon naše aplikacije z odprtjem podprte datoteke. Primer takšne konfiguracije je povezava URL na spletni portal YouTube, ki jo sistem prepozna in namesto spletnega brskalnika zažene YouTube aplikacijo, ki povezavo interpretira ter prikaže pripadajoč posnetek. Slika 5.1: Aplikacijski peskovniki v ios Ta omejitev za našo aplikacijo pomeni, da fotografij in video posnetkov, ki jih bo uporabnik uvozil iz galerije na napravi, z aplikacijo ne bomo mogli izbrisati, ampak jih bo moral izbrisati uporabnik sam. Fotografije ali video posnetki, ki bodo zajeti znotraj aplikacije, pa se bodo shranili neposredno v peskovnik aplikacije in jih ne bo potrebno brisati iz sistemske galerije Uporabljene metode in načrtovalski vzorci Tekom razvoja smo se poslužili mnogih dobrih praks razvoja OO aplikacij in načrtovalskih vzorcev. S tem smo prihranili ogromno časa in truda, saj lahko z dobro strukturirano kodo kasneje tudi veliko hitreje spreminjamo funkcionalnosti ali nastavljamo posamezne parametre, ki izboljšajo delovanje ali izgled posamezne komponente v aplikaciji. 23

34 Vzorec MVC Vzorec MVC (Model View Controller) je temeljni vzorec, ki ga Apple priporoča in vzpodbuja pri razvoju aplikacij ios. Namen vzorca je ločitev poslovne logike od uporabniškega vmesnika. Z uporabo vzorca dobi vsak objekt v aplikaciji svojo vlogo: model, pogled ali krmilnik. MVC definira abstraktne omejitve in način komunikacije, kar v praksi pomeni, da pogled (gradniki na zaslonu) nikoli ne komunicira neposredno z modelom (shranjeni podatki v aplikaciji). Za njuno komunikacijo skrbi krmilnik, ki igra vlogo veznega objekta in skrbi za pravilno obveščanje o spremembah na pogledu ali v podatkih. Pogled nikoli ne skrbi za shranjevanje podatkov (razen predpomnjenja za boljšo odzivnost), model pa nikoli neposredno ne spreminja lastnosti pogleda, ki ga vidi uporabnik. Shema vzorca je prikazana na sliki 5.2. Slika 5.2: Diagram načrtovalskega vzorca MVC Implementacija vzorca MVC nam omogoča ponovno uporabo pogledov ali modelov brez spreminjanja njihove kode. Tako lahko v aplikaciji uporabimo isti pogled in logiko za izbiro posameznih fotografij oz. video posnetkov iz sistemske galerije, kot tudi kasneje za izbiro zakodiranih uvoženih elementov znotraj aplikacije. Primer uporabe Znotraj alikacije imamo model (entiteto v podatkovni bazi in Objective-C razred) Asset, ki s pomočjo kasneje predstavljenega ogrodja Core Data hrani podatke o šifriranem elementu. Uporabo vzorca MVC najbolje ponazarja lastnost filepaththumbsmall, ki hrani lokacijo datoteke, ki smo jo uvozili iz sistemske galerije ali vgrajene kamere. Omenjena lastnost ne pozna pogleda (načina predstavitve) in njena edina naloga je hranjenje podatka v obliki niza (NSString). 24

35 Za predstavitev uporabimo razred JZLibraryAssetView, ki je podrazred razreda JZAssetView in skrbi za prikaz datotek shranjenih v sistemski galeriji. Kot parameter ob inicializaciji prejme podatke o modelu (Asset), nato pa z uporabo kode razreda JZCommon dešifrira podatke, ki se nahajajo na lokaciji filepaththumbsmall in jih prikaže v obliki male sličice. Za izmenjavo podatkov med shranjenim objektom tipa Asset in JZLibraryAssetView skrbi krmilnik JZAssetPicker. Core Data V svetu aplikacij, kljub vedno večji selitvi podatkov v oblak (icloud, Dropbox, Google Drive, Amazon ), potrebujemo lokalno shranjene podatke. Povezljivost mobilnih telefonov je še vedno preveč odvisna od zunanjih dejavnikov (slabo vreme, veter, zasedenost omrežja ), da bi se lahko zanesli zgolj na podatke, do katerih imamo dostop samo z internetno povezavo. Kot razvijalci aplikacij potrebujemo torej način shranjevanja podatkov in najpreprostejša oblika so navadne datoteke, ki so pa primerne samo za enostavno hrambo. V kolikor želimo iskati, urejati in povezovati podatke v relacije, nam klasične datoteke več ne zadostujejo. Naštete funkcionalnosti nam nudijo podatkovne baze in tudi v ios imamo možnost uporabe le-te. Sistem uporablja različico SQLite, do katere pa zelo redko neposredno dostopamo, saj je Apple za ta namen razvil posebno ogrodje Core Data. Core Data skrbi za začasno ali trajno hranjenje in urejanje podatkov. Odvisno od nastavitev lahko podatke shranjuje v pomnilnik, v obliki navadnih datotek v datotečnem sistemu ali v podatkovno bazo. Ni edini in vsekakor ne najpreprostejši način za shrambo podatkov na napravi, nudi pa ogromno stvari, ki nam olajšajo načrtovanje in razvoj aplikacije. Z uporabo Core Data smo vsaj delno prisiljeni slediti vzorcu MVC, saj nam ogrodje lahko kreira tudi Objective-C razrede naših modelov. Posebnost tega pristopa je neodvisnost od lokacije hranjenja, saj lahko samo z nastavitvijo parametra spremenimo tip hranjenja podatkov, vsa koda v naših krmilnikih (Controllerjih) in modelih pa ostane popolnoma enaka. Rezultat načrtovanja modela Core Data je shema, kjer so opisane lastnosti modela, relacije med modeli, privzete vrednosti in validacijo atributov. Orodje za načrtovanje spominja na grafični urejevalnik SUPB-ja (sistema za upravljanje s podatkovnimi bazami), kar pomaga pri lažjem razumevanju strukture modelov. Shema modelov za apliakcijo Securit je prikazana na sliki

36 5.4. Uporabniški vmesnik Slika 5.3: Shema modelov v Core Data Razvijalci aplikacij na platformi ios v preteklosti niso imeli pretirano težke naloge, če so želeli ustvariti lepo aplikacijo, saj je ios v osnovi zelo grafično dovršen. Iz dejstva [18], da je v App Storu že skoraj aplikacij, pa lahko sklepamo, da za privlačno in unikatno aplikacijo potrebujemo več kot pa le gradnike, ki nam jih nudi Apple v ios SDK-ju. Razvijalci in oblikovalci se tega problema oziroma izziva zavedajo in vedno znova presenečajo z edinstvenim designom. Trenutni oblikovalski trend stremi k preprostosti in čistosti uporabniškega vmesnika. Uspešni razvijalci se osredotočajo na osnovno funkcionalnost, ki mora biti dostopna nemudoma, brez nepotrebnih gumbov, menijev in ostalih gradnikov. Aplikacije, ki uporabniku nudijo preveč funkcionalnosti, lahko prehitro romajo iz naprav in jih uporabnik nikoli več ne prenese iz tržnice. Velika razlika med namiznimi in mobilnimi aplikacijami je dejstvo, da mobilne aplikacije uporabljamo na mobilnikih, ki jih nosimo s seboj in morajo biti pripravljeni na uporabo praktično takoj. To pomeni, da mora aplikacija ponuditi uporabniku rezultat v najkrajšem možnem času, kar pa ob prevelikem številu nastavitev in menijev ni možno. Aplikacije kot so Clear, Convertbot, GarageBand, Commit in mnoge druge, postavljajo mejnike za vse razvijalce in vzpodbujajo inovativnost, ki loči povprečne in nadpovprečne aplikacije. 26

37 Slika 5.4: Primer inovativnega uporabniškega vmesnika aplikacije Clear [17] V aplikaciji Securit smo uporabili dve komponenti, ki uporabljata drugačen sistem navigacije znotraj aplikacije in nudita po našem mnenju boljšo uporabniško izkušnjo kot tradicionalni in skoraj zastareli navigacijski sistemi. JZMenu Komponenta JZMenu nam nudi preprosto implementacijo menija v aplikaciji in deluje na principu zagrabi-povleči-spusti (ang. hold-drag-release). To pomeni, da uporabnik v aplikaciji položi prst na glavni element menija, ki je lahko besedilo ali slika, s čimer aktivira meni. Meni je prikazan v obliki seznama z velikimi pravokotniki, ki prav tako lahko vsebujejo tekstovne elemente ali pa slike. Uporabnik nato povleče glavni element menija do ustrezne pozicije na seznamu in nato umakne prst. Ta akcija vrne glavni element menija na prvotno mesto in izvrši akcijo, ki je vezana na izbrani element. Na spodnji sliki je na levi strani neaktiven meni, na desni pa aktiven. 27

38 Slika 5.5: Delovanje komponente JZMenu JZUnlockView V aplikaciji smo potrebovali tudi sistem verifikacije, vendar nismo želeli uporabiti klasičnih gesel ali 4-mestnih številk PIN, zato smo razvili komponento JZUnlockView, s katero uporabnik s pomočjo 9 točk na zaslonu nariše vzorec in tako tvori geslo. Uporaba je intuitivnejša in hitrejša kot vpisovanje gesel s pomočjo tipkovnice na zaslonu. Komponenti lahko sicer s spreminjanjem lastnosti JZUnlockPattern spreminjamo število točk, vendar smo se za aplikacijo Securit odločili za mrežo 9 točk. Na spodnji sliki je prikazan izgled preverjanja uspešnosti narisanega vzorca v komponenti. Slika 5.6: Uporaba komponente JZUnlockView 28

39 JZAssetPicker Zaradi prikladnosti mora biti v aplikaciji omogočena izbira večih večpredstavnostnih elementov hkrati. Te funkcionalnosti Applov razred UIImagePickerController ne omogoča, zato smo komponento morali izdelati sami. Za zgled smo uporabili implementacijo ELCImagePickerController 14, ki jo je na portalu GitHub objavilo podjetje ELC Technologies. Komponento smo priredili po svojih potrebah ter dodali še možnost prikaza elementov na ipadu. Komponenta je omogočala samo prikaz multimedijskih vsebin iz sistemske galerije, v aplikaciji pa je potreben tudi prikaz že uvoženih elementov, zato smo komponenti dodali krmilnik JZImportedAssetPicker, ki je podrazred razreda JZAssetPicker. Slednji skrbi za prikaz vsebine sistemske galerije, na sliki 5.7 pa vidimo uporabo omenjene komponente na ipadu in iphonu, kjer je v vrstici 8 oz. 4 sličice multimedijskih vsebin na napravi. Slika 5.7: Prikaz komponente na ipadu (levo) in iphonu (desno) NSData+AES Šifriranje podatkov s komponento NSData+AES ne zahteva posebne konfiguracije, ampak je dovolj le poslano sporočilo encryptwithstring: objektu razreda NSData. Če pogledamo v implementacijo komponente ugotovimo, da avtor za šifriranje in dešifriranje uporablja metode, ki so definirane v cipher.h in se poslužujejo Applove knjižnice CommonCrypto. 14 Povezava na GitHub: 29

40 Zaradi boljše preglednosti smo ustvarili razred JZCommon, v katerem so na voljo razredne metode z operacijami, ki jih tekom aplikacije večkrat izvajamo. Datoteko JZCommon.h z ukazom #import JZCommon.h v datoteki Securit-Prefix.pch definiramo in s tem postane dostopna vsem razredom v projektu. S to potezo občutno zmanjšamo količino ponavljajoče se kode, saj lahko izvajamo metode razreda iz kateregakoli dela aplikacije. Spodnji izsek prikazuje implementacijo metode za šifriranje objektov z vhodnim parametrom kencryptionkey, ki je definiran v datotekah s konstantami JZConstants. + (NSData *)encrypteddata:(nsdata *)original { NSData *encrypted = [original encryptwithstring:kencryptionkey]; return encrypted; } Izsek kode 5.1: Razredna metoda za pomoč pri šifriranju podatkov Metoda v izseku 5.2 dešifrira datoteko, ki je shranjena na lokaciji filepath. To metodo uporabljamo vsakič, ko želimo iz datoteke na napravi prikazati fotografijo na zaslonu, za kar potrebujemo objekt razreda UIImage. + (UIImage*)decryptedImageAtPath:(NSString*)filePath { NSError *encrypterror; NSData *encrypted = [NSData datawithcontentsoffile:filepath options:nsdatareadinguncached error:&encrypterror]; if (encrypterror) { NSLog(@"Error getting filepath data when encrypting image. Using default image."); return [self defaultimage]; } } NSData *decrypteddata = [encrypted decryptwithstring:kencryptionkey]; return [UIImage imagewithdata:decrypteddata]; Izsek kode 5.2: Razredna metoda za dešifriranje podatkov v obliko UIImage 5.5. ARC (Automatic reference counting) Mnogo programskih okolij ponuja t.i. pobiralca smeti (ang. garbage collectorja), ki upravlja s pomnilnikom in razvijalce razbremeni, saj jim v večini primerov ni potrebno dodatno skrbeti za racionalno ravnanje aplikacij s pomnilnikom. Tudi Apple je v svojo različico Objective-C-ja Cocoa, ki se uporablja za razvoj OS X namiznih aplikacij, vključil pobiralca smeti. Zaradi boljše odzivnosti aplikacij na mobilnih napravah pa so se odločili, da bodo to delo prepustili razvijalcem. Do verzije ios 5.0 smo tako morali popolnoma sami poskrbeti, da je aplikacija tekla gladko in ni povzročala neodzivnosti. Verzija 5.0 pa je med drugim 30

41 prinesla tudi ARC, ki bi naj pomagal razvijalcem s tem, da sam poskrbi za ustrezno sproščanje pomnilnika z objekti, ki jih aplikacija ne potrebuje. Seveda se v praksi mnogokrat izkaže, da kljub vključeni funkciji ARC, prevajalnik vseeno potrebuje nekaj smernic in ukazov, da svoje delo pravilno in učinkovito opravi. Tekom razvoja aplikacije smo to tudi sami izkusili, saj je aplikacija nenadzorovano večala porabo pomnilnika, dokler nismo raziskali napake in našli preproste rešitve, ki je opisana v naslednjem poglavju. NSObject, ki je osnovni razred v jeziku Objective-C, ima lastnost retaincount, ki spremlja, koliko drugih objektov (lastnikov) kaže na objekt. Naslednja vrstica kode ustvari objekt z imenom mojobjekt: NSObject *primerek = [[NSObject alloc] init]; Izsek kode 5.3: Kreiranje objekta tipa NSObject Opazimo, da vršimo 2 klica, in sicer alloc, ki je razredna metoda in rezervira prostor v pomnilniku, in init, ki je neke vrste konstruktor in ustvari objekt ter vrne kazalec nanj. Ob klicu razredne metode alloc se hkrati poveča tudi vrednost lastnosti retaincount za 1. Objekta nikoli ne brišemo sami s klicem metode dealloc, ampak za ta namen uporabljamo metodo release. Tako bi v našem primeru za pravilno sproščanje pomnilnika preprosto izvršili klic: [primerek release]; Izsek kode 5.4: Sproščanje pomnilnika brez sistema ARC Takšen način nudi razvijalcem veliko nadzora nad porabo pomnilnika, vendar pomeni, da lahko z neusklajenimi klici hitro začnemo puščati pomnilnik (ang. memory leak). V nekaterih primerih nam je na pomoč priskočila metoda autorelease, katere delovanje je lahko včasih nepredvidljivo. Naloga omenjene metode je, da izbriše objekt iz pomnilnika, ko se sprazni navidezni bazen za samodejno sproščanje pomnilnika (ang. autorelease pool). To pomeni, da lahko objekt izgine iz pomnilnika takrat, ko ga še potrebujemo, ali pa ostane v pomnilniku predolgo in povzroča visoko porabo ali celo pomnilniška opozorila. Uporaba te metode je zato priporočljiva samo v primerih, ko objekt potrebujemo samo znotraj iste metode in v isti niti, ali pa ko v zanki ustvarjamo veliko objektov, ki jih potrebujemo samo začasno. 31

42 V sledečem poglavju je prikazano, da lahko tudi z vključeno opcijo ARC naletimo na težave s prekomerno porabo pomnilnika. V aplikaciji Securit smo težavo lahko odpravili s pomočjo orodja Instruments Testiranje Aplikacije, ki tečejo na ios-u, morajo znati dobro skrbeti za racionalno uporabo pomnilnika. ios je zelo odziven, kar doseže s svojim neizprosnim ravnanjem z aplikacijami. V kolikor aplikacija porablja preveč pomnilnika in povzroča neodzivnost uporabniškega vmesnika, ji ios pošlje opozorilo stopnje 1. Aplikacija lahko to opozorilo interpretira in poskrbi, da sprosti nepotrebne podatke, ki jih hrani v pomnilniku. Če tega ne stori, lahko prejme še opozorilo stopnje 2, kateremu sledi prisilna prekinitev izvajanja. ios s tem poskrbi, da je naprava odzivna v vsakem trenutku in da uporabniška izkušnja ne trpi, če avtor aplikacije ne upošteva priporočil. Vsaka aplikacija, ki ima opravka z velikimi količinami podatkov, je še bolj na udaru, zato mora razvijalec dobro načrtovati in predvsem testirati aplikacijo, preden jo ponudi na App Storu. Securit upravlja s fotografijami in video posnetki, ki spadajo med največje datoteke na napravi, zato smo morali dobro upoštevati nasvete, ki jih Apple navaja v dokumentaciji za razvijalce. Kljub temu, da smo v projektu imeli vključeno opcijo ARC, ki razvijalcu olajša nekatere vidike upravljanja s pomnilnikom, smo morali biti pazljivi. Predvsem zapleteno je bilo uvažanje večjega števila fotografij iz sistemske galerije v aplikacijo in nazaj, kjer smo zaradi nepazljivosti v zankah for povzročili prekinitev izvajanja aplikacije. Orodje Instruments ogromno pripomore pri iskanju hroščev in analizi porabe sredstev naprave, zato ga je priporočjlivo uporabljati od začetka do konca razvoja, saj nam lahko v zgodnjih fazah pomaga odkriti morebitne kasnejše hrošče oz. prekomerno uporabo pomnilnika, baterije ali drugih sredstev. Prvi poskus uvoza podatkov V prvi implementaciji kode za uvoz podatkov iz sistemske galerije nismo upoštevali nasveta za boljše upravljanje s pomnilnikom, zaradi česar je aplikacija ob večji količini fotografij prejemala sistemska opozorila. V večini primerov je bilo izvajanje aplikacije tudi prekinjeno. Na spodnji fotografiji vidimo poskus uvoza 60 fotografij iz sistemske galerije. Rezultat je prekinitev, ki je sledila približno 10 sekund po prvem opozorilu. Aplikacija je tik pred koncem izvajanja razpolagala s skoraj 100 megabajti podatkov v pomnilniku. 32

43 Slika 5.8: Poraba pomnilnika z neoptimiziranim načinom uvoza podatkov Drugi poskus uvoza podatkov V drugem poskusu smo v zanko for dodali sistemski }, ki sprošča pomnilnik objektov, ustvarjenih znotraj zavitih zank ukaza. To je drastično spremenilo porabo pomnilnika, kar je razvidno iz slike 5.9. S pomočjo orodja Instruments smo ugotovili, da se pomnilnik sprosti po uvozu posamezne fotografije, zato je poraba pomnilnika ob enakih pogojih (uvoz 60 fotografij) v najvišji točki dosegla komaj 16 megabajtov. - (void)saveassets:(nsdictionary*)info { NSArray *assets = [info objectforkey:kassetskey]; NSMutableSet *savedassets = [[NSMutableSet alloc] initwithcapacity:assets.count]; int counter = 0; int assetcount = assets.count; NSEntityDescription *assetentity = [NSEntityDescription entityforname:@"asset" inmanagedobjectcontext:self.managedobjectcontext]; Album *album = [info objectforkey:kalbumkey]; NSDate *date = [NSDate date]; NSFileManager *filemanager = [NSFileManager defaultmanager]; for (NSDictionary *assetdata in assets) { 33

44 @autoreleasepool { // Start of Autoreleasepool self.hud.labeltext = [NSString stringwithformat:nslocalizedstring(@"encrypting file %d of ++counter, assetcount]; // New asset Asset *asset = [[Asset alloc] initwithentity:assetentity insertintomanagedobjectcontext:self.managedobjectcontext]; asset.timestamp = [NSDate date]; } // Type Izsek kode 5.5: Optimizirana koda za uvoz podatkov Koda za uvoz je bila nespremenjena, z izjemo gnezdenja celotne kode v for zanki s Slika 5.9: Prikaz porabe pomnilnika z optimiziranim načinom uvoza podatkov V tem poglavju smo predstavili testiranje aplikacije Securit in težavo, ki jo pogosto zasledimo na spletnih razvijalskih portalih. Z uporabo orodja Instruments smo izvor težave z lahkoto locirali in problem tudi odpravili ter s tem dosegli želeno delovanje aplikacije. Zaradi preproste implementacije in dobrega načrtovanja navigacije po aplikaciji napak pri testiranju ostalih komponent ni bilo. 34

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

Uporabniški priročnik za aplikacije resound.com

Uporabniški priročnik za aplikacije resound.com Uporabniški priročnik za aplikacije resound.com Uvod Namen aplikacij ReSound je izboljšati vašo slušno izkušnjo, saj vam omogočajo, da bolje izkoristite svoj slušni aparat ReSound. ReSoundova inovativna

Prikaži več

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC Državni zbor v številkah 90 poslancev 9 + 1 poslanska skupina 150+ mobilnih naprav (OS Android, ios) 500+ internih uporabnikov, 650+ osebnih računalnikov, 1100+

Prikaži več

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

Navodila za uporabo Mini snemalnik

Navodila za uporabo Mini snemalnik Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomočjo aplikacije Outlook, katero lahko prenesete s pomočjo trgovine App Store. Ko aplikacijo zaženete se vam pojavi naslednje

Prikaži več

ZAČETNI VODNIK ZA POVEZAVO Izkusite prilagojeno nego perila z aplikacijo My AEG Care. Pralni stroj lahko povežete in upravljate od koder koli in preje

ZAČETNI VODNIK ZA POVEZAVO Izkusite prilagojeno nego perila z aplikacijo My AEG Care. Pralni stroj lahko povežete in upravljate od koder koli in preje ZAČETNI VODNIK ZA POVEZAVO Izkusite prilagojeno nego perila z aplikacijo My AEG Care. Pralni stroj lahko povežete in upravljate od koder koli in prejemate obvestila o tem, kdaj je perilo pripravljeno.

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika Gimnazija Bežigrad Peričeva 4 1000 Ljubljana OPERACIJSKI SISTEM Predmet: informatika KAZALO 1. Uvod...3 2. Predstavitev programa Windows 98...5 3. Raziskovanje računalnika...5 4. Raziskovanje Interneta...6

Prikaži več

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CN-BTU4 Quick Guide_SI Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Navodila za uporabo Mini prenosna HD kamera s snemalnikom Navodila za uporabo Mini prenosna HD kamera s snemalnikom www.spyshop.eu Izdelku so priložena navodila v angleščini, ki poleg teksta prikazujejo tudi slikovni prikaz sestave in delovanja izdelka. Lastnosti

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INTRANET - DETEKTIV Detektivska zbornica Republike Slovenije Pozdravljeni, v kratki predstaviti in navodilih za delo z intranet sistemom Detektiv. Intranet članom Detektivske zbornice RS omogoča, da: -

Prikaži več

Microsoft Word - CNR-MPV2 Quick Guide_SI

Microsoft Word - CNR-MPV2 Quick Guide_SI Canyon multimedijski MP3 predvajalnik Artikel: CNR-MPV2 Opozorilo: Pred uporabo pozorno preberite navodila za uporabo. Podrobna navodila se nahajajo na priloženem CD mediju. Opozorilo: Pred uporabo napolnite

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Uporaba storitve Office 365 v napravi iphone ali ipad Priročnik za hiter začetek dela Ogled e-pošte Nastavite napravo iphone ali ipad tako, da boste lahko pošiljali in prejemali e-pošto iz računa v storitvi

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. A Analitična orodja: Programska oprema, s katero je mogoče zbirati in meriti poslovne podatke ter o njih poročati.

Prikaži več

Elektronska pošta

Elektronska pošta Elektronska pošta ZGODOVINA Prvo sporočilo je bilo poslano leta 1971. Besedilo, ki ga je vsebovalo, je bilo QWERTYUIOP. Pošiljatelj je bil Ray Tomlinson, računalnika med katerima je bilo sporočilo poslano

Prikaži več

Na podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica nasl

Na podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica nasl Na podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica naslednji P RAVILNIK o izvajanju videonadzora I. SPLOŠNE

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Ajax profesionalni brezžični alarmni sistem Ajax profesionalni brezžični alarmni sistem Protivlomna in požarna zaščita & zaznavanje puščanja vode Ajax profesionalni brezžični alarmni sistem Možna integracija

Prikaži več

docx

docx SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 139 55 62 www.conrad.si NAVODILA ZA UPORABO Full HD akcijska kamera Denver ACT-5040W Kataloška št.: 139 55 62 KAZALO UVOD... 3 SISTEMSKE ZAHTEVE... 3 LASTNOSTI

Prikaži več

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite

Prikaži več

MT40X Kratka navodila

MT40X Kratka navodila MT40X Kratka navodila Spoznajte svojo uro Kamera Mikro vrata USB Tipka za vklop/ izklop Reža kartice SIM 2 Tipka za vklop/izklop Pritisnite in zadržite 3 sekunde za vklop. Pritisnite in zadržite 3 sekunde,

Prikaži več

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak, Sfera IT d.o.o. 1 Priprava na: Vzpostavitev več nivojske

Prikaži več

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na

Prikaži več

PowerApps

PowerApps ko tehnologija postane brezmejna strast Microsoft PowerApps Uporabniška navodila Avtorji Brina Gomboc, Lucija Kos, Damjana Krampač Mentorici dr. Simona Sternad Zabukovšek Sara Cokan, mag. ekon. in posl.

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

FOR SMARTER PEOPLE TAKO SE VLOMI PREPREČUJEJO DANES REHAU Smart Guard System plus preventivna protivlomna zaščita WINDOWS. REINVENTED FOR MODERN LIFE.

FOR SMARTER PEOPLE TAKO SE VLOMI PREPREČUJEJO DANES REHAU Smart Guard System plus preventivna protivlomna zaščita WINDOWS. REINVENTED FOR MODERN LIFE. FOR SMARTER PEOPLE TAKO SE VLOMI PREPREČUJEJO DANES REHAU Smart Guard System plus preventivna protivlomna zaščita WINDOWS. REINVENTED FOR MODERN LIFE. NA NOVO ZASNOVANA OKNA Za današnje življenje Naše

Prikaži več

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte Navodila za uporabo programske opreme OTRS verzija 2.2.3 Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132 SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 132 63 11 www.conrad.si NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132 63 11 KAZALO UVOD...3 VSEBINA PAKETA...3 SESTAVNI

Prikaži več

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA PODATKI VLADNIH INFORMACIJSKIH SISTEMOV MED ZAHTEVAMI PO JAVNI DOSTOPNOSTI IN VAROVANJEM V ZAPRTIH SISTEMIH mag. Samo Maček, mag. Franci Mulec, mag. Franc Močilar UVOD Razvrščanje dokumentov: odprta družba,

Prikaži več

Folie 1

Folie 1 S&TLabs Innovations mag. Damjan Kosec, S&T Slovenija d.d. marec 2013 S&TLabs Laboratorij za inovacije in razvoj spletnih in mobilnih informacijskih rešitev Kako boste spremenili svoj poslovni model na

Prikaži več

KATALOG 2002/03

KATALOG 2002/03 KATALOG 2018/19 UP TADO, D.O.O. MOBILINI TELEFONI 2 SPLOŠNE INFORMACIJE IZDAJATELJ: PROIZVODNJA,STORITVE IN TRGOVINA UP TADO, d.o.o. trgovina na debelo in drobno Ekonomska šola Kranj Cesta Staneta Žagarja

Prikaži več

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800 Hiter začetek Razširjevalnik dosega WiFi AC750 Model EX3800 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

Presentation Name / Author

Presentation Name / Author Kako brez stresa zamenjati požarno pregrado How to Replace the Firewall Without Stress Sašo Tomc - SRC d.o.o. (21. januar 2019) 1) Analiza obstoječe konfiguracije 2) Določanje nivoja tveganja za izpad

Prikaži več

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity

Prikaži več

Najboljša skupaj Kontrola pristopa + registracija delovnega časa

Najboljša skupaj Kontrola pristopa + registracija delovnega časa Najboljša skupaj Kontrola pristopa + registracija delovnega časa Globalna rešitev prilagojena lokalnemu okolju Rešitev Time&Space je na voljo v 15-ih jezikih ter podpira latinico, cirilico in arabsko pisavo.

Prikaži več

BDV-N890W/BDV-N790W

BDV-N890W/BDV-N790W Sistem za domači kino s predvajalnikom Blu-ray Disc /DVD BDV-N890W BDV-N790W SI Začnite tukaj Kratka navodila za postavitev in uporabo BDV-N790W BDV-N890W 1 Vsebina embalaže/nastavitev zvočnikov BDV-N890W

Prikaži več

ISOFT , računalniški inženiring

ISOFT , računalniški inženiring ISOFT, računalniški inženiring Marko Kastelic s.p. Sad 2, 1296 Šentvid pri stični Spletna stran podjetja:http://www.isoft.si podjetja ISOFT Spletna stran sistema sledenja vozil track.si: http://www.track.si

Prikaži več

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah O opozorilih OPOZORILO: OPOZORILO označuje možnost poškodb lastnine, telesnih poškodb ali smrti. Dell Vostro 430 List s tehničnimi informacijami o nastavitvi in funkcijah Pogled s sprednje in zadnje strani

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev TIK terminal nima povezave s strežnikom Ob vpisu v TIK Admin se pojavi napis ni povezave s strežnikom Na terminalu je ikona 1. preverimo ali je pravilno nastavljen IP strežnika 1. Preverimo datoteko TIKSAdmin.INI

Prikaži več

INTERAKTIVNE REŠITVE PROMETHEAN

INTERAKTIVNE REŠITVE PROMETHEAN INTERAKTIVNE REŠITVE PROMETHEAN Promethean je vodilni svetovni ponudnik interaktivne tehnologije na področju izobraževanja. S svojim inovativnim pristopom in vizijo prihodnosti, spreminjajo način sodelovanja

Prikaži več

Postavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv

Postavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv Postavka Naziv storitve Enota mere Cenik velja od 1. 8. 2019 dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitve 1.1. Poslovni net paket 1.1.1. Naročnina 32,790 40,00

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03.2019 Verzija 1.1 KAZALO 1 NAMEN...3 2 REGISTRACIJA...4 3 VNOS GESLA IN AKTIVACIJA RAČUNA...6

Prikaži več

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

Microsoft PowerPoint - seminar_ pptx

Microsoft PowerPoint - seminar_ pptx Leatalske informacije in ARO Slovenia Control Igor Čučnik, ARO Aleš Omahne, NOTAM Uroš Grošelj, AIP Brnik, 12.5.2018 Letalske informacije AIP AIP AMDT AIP SUP AIC NOTAM Serija A, B in C VFR karta Spletna

Prikaži več

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadaljevanju»naročnik«) in družbo VI NOVA d.o.o. (v nadaljevanje»ponudnik«).

Prikaži več

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati. 1. Preverite spletno stran Ta posnetek zaslona vam prikazuje, da morate v levem vrhnjem kotu preveriti, če se nahajate na pravi

Prikaži več

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta 1.0 22.11.2013 Prva verzija dokumenta 1.1 15.04.2015 Dodana možnost

Prikaži več

CODEKS IP KAMERA

CODEKS IP KAMERA CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,

Prikaži več

Watch 40_MT40X_UM_SL.pdf

Watch 40_MT40X_UM_SL.pdf Navodila za uporabo MT40X Vsebina 1 1 Glej pregled... 1 Tipka za vklop/izklop... 1 2 2 Odstranite trakove... 2 Pripenjanje novih trakov... 3 3 3... 3... 4 Vklop ure... 4... 4 Jezik... 4 4 5 5 5 6 6 7...

Prikaži več

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Identifikacijska oznaka dokumenta: n/a Različica dokumenta:

Prikaži več

Linksys PLEK500 User Guide

Linksys PLEK500 User Guide Uporabniški priročnik Linksys PLEK500 Omrežni vmesnik Powerline Vsebina Pregled............... 2 Funkcije..................... 2 Kako deluje omrežje Powerline 3 Primer namestitve 3 Namestitev omrežja Powerline.....

Prikaži več

DES

DES Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Digitalni sistemi Vgrajeni digitalni sistemi Digitalni sistem: osebni računalnik

Prikaži več

NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app

NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app Uporabniški račun V aplikacijo se je treba prijaviti z uporabniškim računom. Ob prvem zagonu vas bo aplikacija pozvala k registraciji (sign up) ali prijavi (sign

Prikaži več

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugimi elektromagnetnimi aparati ne smejo uporabljati tega

Prikaži več

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnovno sporočilo. Izogibajte se daljših besedil in predolgih

Prikaži več

NETGEAR R6100 WiFi Router Installation Guide

NETGEAR R6100 WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1,

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1, TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03. 2019 KAZALO 1 Namen...3 2 Registracija...4 3 Vnos gesla in aktivacija računa...6 4 Prijava...7

Prikaži več

innbox_f60_navodila.indd

innbox_f60_navodila.indd Osnovna navodila Komunikacijski prehod Innbox F60 SFP AC Varnostna opozorila Pri uporabi opreme upoštevajte naslednja opozorila in varnostne ukrepe. Da bi v največji meri izkoristili najnovejšo tehnologijo

Prikaži več

Adaptive Sound Technology Dodatek

Adaptive Sound Technology Dodatek Adaptive Sound Technology Dodatek Prva namestitev televizorja Sistem je opremljen s funkcijo Adaptive Pregled prve namestitve Sound Technology, ki omogoča optimalno doživetje zvoka pri postavitvi več zvočnikov,

Prikaži več

Slide 1

Slide 1 Tehnike programiranja PREDAVANJE 10 Uvod v binarni svet in računalništvo (nadaljevanje) Logične operacije Ponovitev in ilustracija Logične operacije Negacija (eniški komplement) Negiramo vse bite v besedi

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

an-01-Vodoodporna_prenosna_polnilna _postaja_Powerbank_Beltrona_Camouflage_5200_mAh.docx

an-01-Vodoodporna_prenosna_polnilna _postaja_Powerbank_Beltrona_Camouflage_5200_mAh.docx SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 130 76 00 www.conrad.si NAVODILA ZA UPORABO Vodoodporna prenosna polnilna postaja Powerbank Beltrona Camouflage 5200mAh Kataloška št.: 130 76 00 KAZALO 1.

Prikaži več

Modem in krajevno omrežje Uporabniški priročnik

Modem in krajevno omrežje Uporabniški priročnik Modem in krajevno omrežje Uporabniški priročnik Copyright 2008 Hewlett-Packard Development Company, L.P. Informacije v tem priročniku se lahko spremenijo brez prejšnjega obvestila. Edine garancije za HP-jeve

Prikaži več

an-01-sl-Bluetooth_HD_glasbeni_sprejemnik_za_brezzicni_prenos_Belkin_G3A2000.docx

an-01-sl-Bluetooth_HD_glasbeni_sprejemnik_za_brezzicni_prenos_Belkin_G3A2000.docx SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 55 43 34 www.conrad.si NAVODILA ZA UPORABO Bluetooth HD glasbeni sprejemnik za brezžični prenos Belkin G3A2000 Kataloška št.: 55 43 34 KAZALO HITRI VODNIK

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se nanaša na tobačne izdelke na trgu EU in na tobačne izdelke, izdelane v EU, vključno s tistimi

Prikaži več

DCS-2330L_A1_QIG_v1.00(EU).indd

DCS-2330L_A1_QIG_v1.00(EU).indd HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L KRATKA NAVODILA ZA UPORABO VSEBINA PAKETA HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L NAPAJALNI ADAPTER ADAPTER ETHERNET KABEL (CAT5 UTP) MED POSTAVITVIJO,

Prikaži več

Untitled 2

Untitled 2 Projektna rešitev multimedijske opreme za muzej Lojzeta Slaka - Mirna Peč Bazaarhitektura, d.o.o. Mestni trg 9, Ljubljana Projektna rešitev multimedijske opreme za muzej Lojzeta Slaka - Mirna Peč Projekt

Prikaži več

NETGEAR R6250 Smart WiFi Router Installation Guide

NETGEAR R6250 Smart WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

Microsoft PowerPoint - Sequi_SecDAy.ppt

Microsoft PowerPoint - Sequi_SecDAy.ppt Sistem za zagotavljanje revizijske sledi zbirk podatkov Marko Hočevar Premisa d.o.o. Iztok Lasič Hic Salta d.o.o. O revizijski sledi Namen revizijske sledi Znane težave pri zajemanju revizijske sledi Zakaj

Prikaži več

bob p. p Ljubljana Tel.: (cena klica na minuto je 1 z DDV) Posebni pogoji uporabe storitve moj bob

bob p. p Ljubljana Tel.: (cena klica na minuto je 1 z DDV)   Posebni pogoji uporabe storitve moj bob bob p. p. 415 1001 Ljubljana Tel.: 090 068 068 (cena klica na minuto je 1 z DDV) www.bob.si Posebni pogoji uporabe storitve moj bob Kazalo Uvod 5 Opredelitve 5 Registracija in uporaba Storitve moj bob

Prikaži več

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, marec 2019 Vsebina 1 Dostop do aplikacije... 3 1.1 Android...

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA Portal e-vem obstoječe stanje in nadaljnji razvoj Jernej Baranja Ana Oblak 2 Registracija s.p. v 1 dnevu (prej 7 dni) Registracija d.o.o. v 3 dneh (prej več kot 60 dni) Brezplačna registracija s.p. in

Prikaži več

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko UPORABLJENE TEHNOLOGIJE Za izdelavo predstavitvene spletne strani smo izbrali tehnologije, ki zagotavljajo: Hitro delovanje spletne

Prikaži več

Microsoft Word Navodila za povezavo naprave v oblak_SLO

Microsoft Word Navodila za povezavo naprave v oblak_SLO Navodila za povezavo naprave v oblak Navodila naj se predajo končnemu uporabniku. SLO Id.: 17-16-14-2968-03 5.2017 Navodila za povezavo naprave v oblak Id.: 17-16-14-2968-03 5.2017 Natisnjeno v Sloveniji,

Prikaži več

Spoznajmo PowerPoint 2013

Spoznajmo PowerPoint 2013 Spoznajmo PowerPoint 2013 13 Nova predstavitev Besedilo v predstavitvi Besedilo, ki se pojavlja v predstavitvah lahko premaknemo kamorkoli v diapozitivu. Kadar izdelamo diapozitiv z že ustvarjenimi okvirji

Prikaži več

D3 V2 brosura net

D3 V2 brosura net Oktober 2012 Najboljša televizija v visoki ločljivosti. Na pogled POPOLNA. Na dotik ENOSTAVNA. Občutno PRIJAZNA. Najboljša izkušnja pred televizorjem. Zavedamo se, da dobra televizijska vsebina običajno

Prikaži več

Microsoft Word - Brosura neobvezni IP

Microsoft Word - Brosura  neobvezni IP Osnovna šola dr. Aleš Bebler - Primož Hrvatini NEOBVEZNI IZBIRNI PREDMETI V ŠOLSKEM LETU 2017/18 Drage učenke in učenci, spoštovani starši! Neobvezni izbirni predmeti so novost, ki se postopoma uvršča

Prikaži več

PowerPoint Presentation

PowerPoint Presentation INFORMACIJSKI SISTEM MFERAC - LETA 2022 mag. Andreja Sladoje Jemec, Sanja Štumberger Kovačič Ministrstvo za finance 10.12.2018 Vsebina predstavitve 1. Projekt MFERAC05 in izhodišča prenove 2. Izvajanje

Prikaži več

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc Splošni pogoji in navodila za uporabnike storitev ONA V veljavi od 25.08.2015 1. Splošne določbe Splošni pogoji in navodila določajo način uporabe storitev ONA, ki jih nudi tehnični izvajalec (v nadaljevanju

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.:

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 75 31 33 www.conrad.si NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: 75 31 33 KAZALO 1. PRIKLOP STROJNE OPREME...3 2. KONFIGURACIJA

Prikaži več

Macoma katalog copy

Macoma katalog copy POSLOVNE APLIKACIJE PO ŽELJAH NAROČNIKA Poročilni sistem Finance in kontroling Poprodaja Podatkovna skladišča Prodaja Proizvodnja Obstoječi ERP Partnerji Implementacija rešitev prilagojena po željah naročnika

Prikaži več

Safety and Regulatory Information

Safety and Regulatory Information WayteQ GPS Navigacija X980BT Navodila za uporabo Slovenska verzija Zahvaljujemo se vam za izkazano zaupanje z uporabo WAYTEQ izdelkov! WAYTEQ si pridružuje pravico do končne verzije navodil za uporabo.

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in

Prikaži več

Microsoft Word - Splošni pogoji Horizont veljavni od docx

Microsoft Word - Splošni pogoji Horizont veljavni od docx SPLOŠNI POGOJI UPORABE STORITVE T-2 HORIZONT V Ljubljani, dne 14.9.2015, 15.06.2017 Kazalo vsebine I. SPLOŠNE DOLOČBE... 3 II. PRIDOBITEV IN PRENEHANJE UPRAVIČENJA DO UPORABE STORITVE T-2 HORIZONT 4 III.

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Daljinski sprožilec za fotoaparat, iskalec ključev in zaščita

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Daljinski sprožilec za fotoaparat, iskalec ključev in zaščita SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 132 67 52 www.conrad.si NAVODILA ZA UPORABO Daljinski sprožilec za fotoaparat, iskalec ključev in zaščita pred krajo X4 Life xmarty Kataloška št.: 132 67 52

Prikaži več

Microsoft PowerPoint - ads

Microsoft PowerPoint - ads Novosti pri analogni video-nadzorni opremi Junij 2012 1. Dnevno/nočna kamera ADS-CAM-K2DNC 2. Snemalniki ADS-LIGHT: ADS-0404DH ADS-0804DH ADS-1604DH ADS-0404HED ADS-CAM-K2DNC Dnevno / nočna kamera z IR

Prikaži več