DLA POCZĄTKUJĄCYCH Historia Ios 2 • Pierwsza Wersja Systemu Ios Nosiła Nazwe Iphone OS, Nazwe, Ios Przyjeto Podczas Wprowadzania Wersji 4.0
Total Page:16
File Type:pdf, Size:1020Kb
iOS DLA POCZĄTKUJĄCYCH Historia iOS 2 • Pierwsza wersja systemu iOS nosiła nazwe iPhone OS, nazwe, iOS przyjeto podczas wprowadzania wersji 4.0. • Czerwiec 2007 – pierwsza wersja iPhone OS 1. Ostatnia wersja serii jeden to 1.1.5. • Lipec 2008 – wydanie wersji iPhone OS 2.0. Ostatnia release serii to 2.2. • Czerwiec 2009 – wydanie wersji iPhone OS 3.0 wraz z iPhone 3GS. Dla urządzenia iPad powstaje wersja iPhone OS 3.2 Historia iOS 3 • Czerwiec 2010 – wydanie wersji iOS 4.0, system przyjmuje oficjalnie nazwe iOS. Ostatnia wersja serii to 4.2.1 • Czerwiec 2011 – wydanie wersji iOS 5.0, ostatnia wersja 5.1.1 • Czerwiec 2012 – wydanie wersji iOS 6.0 iOS 5.x 4 • Koniec wsparcia dla iPhone 3G oraz iPod Touch 2 generacji. • Notification Center: wsparcie dla powiadomień. • Wiadomości: automatyczna synchronizacja miedzy urządzeniami, wysyłanie wiadomości poprzez Wi-Fi, GIF • Newsstand: wsparcie dla prasy elektronicznej. • iCloud: synchronizacja danych z AppStore, zdjeć, kontaktów, notatek, kalendarzy etc. • Integracja z Twitterem. • Siri: osobisty asystent obsługiwany głosem, tylko iPhone 4S iOS 6.x 5 • Koniec wsparcia dla iPad oraz iPod Touch 3 generacji. • Siri: kanadyjski, hiszpański, włoski, koreański mandaryński • Integracja z Facebookiem • Passbook: aplikacja wspierająca biletów elektronicznych, kart lojalnościowych etc. • Mapy: rezygnacja z map Google, dostawcą zostaje firma Tom Tom, widok 3D z „lotu ptaka” iOS 6.x 6 • iCloud • LostMode: uaktywniany w przypadku zgubienia urządzenia • FaceTime: wsparcie dla LTE • Do not disturb mode. • Wsparcie IPv6 dla LTE i Wi-Fi Architektura iOS 7 Architektura iOS 8 • Architektura systemu iOS jest podoBna do podstawowej architektury systemu operacyjnego Mac OS X. • Na najwyzszym poziomie aBstrakcji iOS działa jako pośrednik miedzy aplikacjami a znajdującym sie na samym dole hierarchii sprzetem. • Programy nie komunikują sie Bezpośrednio ze sprzetem lecz z zestawem interfejsów, które zaBezpieczają urządzenie przed nieautoryzowanymi działaniami. • Powstała w ten sposóB aBstrakcja pozwala na łatwe wytwarzanie oprogramowania, które Bedzie działało w ten sam sposóB na róznych platformach sprzetowych. Architektura iOS 9 Cocoa Touch 10 • Storyboards (iOS 5) • Wsparcie dla dokumentów: UIDocument (iOS 5) • Multitasking (iOS 4) • Printing (iOS 4.2) • Wbudowane kodowanie danych (iOS 4) • Apple Push Notification Service (iOS 3) • Lokalne notyfikacje (iOS 4) Cocoa Touch 11 • Rozpoznawanie gestów: „tapowanie”, przeciąganie, zoom etc. • Udostepnianie plików ( poprzez iTunes) • Peer-to-peer ( Bluetooth) • Standardowy system kontrolerów widoku • Wsparcie dla zewnetrznych wyświetlaczy. Cocoa Touch frameworki 12 • Addres Book UI: zarządzanie kontaktami • Event Kit UI: zarządzanie danymi kalendarza • Game Kit: wsparcie dla Game Center, ( GKTurnedBasedMatch iOS 5) • iAd: reklamy • Map Kit: wyświetlanie map Cocoa Touch frameworki 13 • Message UI: tworzenie email i SMS. • Twitter (iOS 5) • UIKit: Wspiera: zarządzanie aplikacją i interfejsem graficznym, przekazywanie zdarzeń, operacje „Cofnij”, ”Kopiuj” i „Wklej”, tworzenie PDF, odczyt danych z akcelerometrów i czujników odległości, dostep do biBlioteki zdjeć, wbudowanego aparatu / kamery, numeru i modelu urządzenia, stanu baterii. Architektura iOS 14 Media: grafika 15 • Quartz (Core Graphics) zapewnia najbardziej podstawowy, natywny, wektorowy sposóB renderingu grafiki 2D. • Core Animation – API zapewniające rozległe wsparcie do wytwarzania animacji i wizualizacji danych, w szczególności tworzenia animowanego GUI. • OpenGL ES – wsparcie dla dwu i trój wymiarowego renderingu w oparciu o akceleracje sprzetową̨. Media: grafika 16 • Core Text – zaawansowane narzedzie słuzące do renderowania tekstu. • Image I/O – interfejs do odczytywania i zapisywania wielu rodzajów formatów obrazu. • Assets Library framework – dostep do Biblioteki Zdjeć uzytkownika zapisanej na dysku twardym urządzenia. Media: audio 17 • Media Player Framework: współpraca z iTunes, odtwarzanie ściezek i list • AV Foundation : nagrywanie i odtwarza dźwieku, interfejsy Objective – C • Open AL: pozycjonowanie audio • Core Audio Framework: biblioteki niskopoziomowe Media: audio 18 Wspierane formaty: • AAC • Apple Lossless (ALAC) • A-law • IMA/ADPCM (IMA4) • Linear PCM • µ-law • DVI/Intel IMA ADPCM • Microsoft GSM 6.10 • AES3-2003 Media: video 19 • UIImagePickerController – jedna z klas znajdujących sie w UIKit, dostarcza standardowego interfejsu do nagrywania obrazu w urządzeniach z iOS posiadających wbudowaną kamere. • Media Player framework – zapewnia mozliwość wyświetlania materiału video zarówno na pełnym ekranie urządzenia jak i na jego cześci. • AV Foundation – dostarcza zestaw interfejsów napisanych w jezyku Objective-C do zarządzania, nagrywania i odtwarzania materiału filmowego. • Core Media – niskopoziomowe typy danych i interfejsy. Media: frameworki 20 • Core Graphics: wektorowe API Quartz 2D • Core Image: zaawansowane przetwarzanie obrazów (iOS 5) • Core MIDI: współpraca z wewn. i zewn. urządzeniami MIDI (iOS 4.2) • Core Text: współpraca z tekstem i czcionkami • Core Video: bufory video dla Core Media Framework (iOS 4.0) Media: frameworki 21 • Image I/O: przetwarzanie obrazów • GLKit: wsparcie dla aplikacji OpenGL ES • Media Player: wysokopoziomowe wsparcie dla audio i video • OpenAL: wsparcie dla pozycjonowania dźwieku • OpenGL ES: rendering 2D i 3D • Quartz Core : animacje i efekty wizualne Architektura iOS 22 Core Services 23 • iCloud Storage: przechowywanie dokumentów w iCloud (iOS 5) • Automatic Reference Counting: uproszczenie procesu zarządzania pamiecią (iOS 5) • Block Objects: odpowiednik wyrazeniem lamBda (iOS 4) • Grand Central Dispatch: asynchroniczne zarządzanie zadaniami w aplikacji, lepsza wydajność niz zwykła wielowątkowość. • In-App Purchase: oBsługa transakcji pienieznych w aplikacji • SQLite: „lekka” Baza danych • XML : przetwarzanie dokumentów XML Core Services 24 • Accounts Framework: wsparcie dla uwierzytelniania (iOS 5) • Address Book: dostep do kontaktów zapisanych w telefonie • CFNetwork: praca z siecią ( sockety BSD, SSL, TLS, DNS, HTTP, HTTPS, FTP) • Core Data: technologia słuząca do zarządzania modelem danych we wzorcu projektowym MVC za pomocą GUI. • Core Foundation: usługi i zarzadzanie danymi (kolekcje, wątki, formatowanie łańcuchów znakowych, wątki, URL, strumienie etc.) napisane w jezyku C Core Services 25 • Core Location: informacje o pozycji geograficznej i kierunku poruszania, współpraca z GPS, BTS, kompas magnetyczny • Core Media: niskopoziomowe zarządzanie treściami Audio i Video niz w AV Foundation Framework (iOS 4) • Core Telephony: dostep do danych związanych z usługami telefonicznymi (np. operator), wsparcie dla usług VoIP • Event Kit: zarzadzanie danymi w kalendarzu uzytkownika. • Foundation: interfejs do Core Foundation Framework dostepny w jezyku Objective - C Core Services 26 • Mobile Core: definicje niskopoziomowych typów uzywanych przez UTI -Uniform Type Identifiers • Newsstand Kit: wsparcie dla prasy elektronicznej (iOS 5) • Quick Look: wsparcie dla prezentacji plików nie wspieranych bezpośrednio w aplikacji ( np. pliki .doc). • Store Kit: „In-App Purchase”, obsługa transakcji pienieznych w aplikacji • System Configuration: dostep do informacji o połączeniu przez WiFi i sieć komórkową oraz o osiągalnych hostach Architektura iOS 27 Core OS 28 • Core Telephony: dostep do danych związanych z usługami telefonicznymi • Accelerate: zoptymalizowana biblioteka do działań matematycznych w szczególności: DSP, algebra liniowa, przetwarzanie obrazów (iOS 4) • Core Bluetooth: współpraca z akcesoriami Bluetooth Low Energy ”LE” • External Accessory: współpraca z urządzeniami podłączonymi do 30-pinowego wejścia lub poprzez Bluetooth Core OS 29 • Generic Security Services: wsparcie dla usług bezpieczeństwa (iOS 5 ) • Security: zarządzanie certyfikatami i kluczami kryptograficznymi, wsparcie dla szyfrowania symetrycznego czy digests ( OpenSSL) • System: środowisko kernela, sterowników i niskopoziomowych funkcji UNIX, interfejsy Objective – C dla: wątki POSIX, sockety BSD, operacje I/O, usługi Bonjour i DNS, zarządzanie pamiecią, operacje matematyczne. Urządzenia z systemem iOS 30 iPhone 31 Urządzeni CPU Pamięć GPS Min Max Kamera Rozdzielczo e ść iPhone 3G 400 MHz 128 MB YES 2.0 4.2.1 YES 320×480 Samsung RISC ARM iPhone 600MHz 256 MB YES 3.0 6.0 YES 320×480 3GS ARM Cortex A-8 iPhone 4 800MHz 512 MB YES 4.0 6.0 YES 640×960 ARM Cortex A-8 iPhone 4S 800Mhz 512 MB YES 5.0 6.0 YES 640×960 dual–core DRAM ARM Cortex-A9 iPod Touch 32 Urządzeni CPU Pamięć GPS Min Max Rozdzielc e zość iPod touch 400 MHz 128 MB NO 1.1 3.1.3 320×480 1st Gen Samsung RISC ARM iPod touch 533 MHz ARM 128 MB NO 2.1.1 4.2.1 320×480 2nd Gen 11 iPod touch 600MHz 256 MB NO 3.1.1 6.0 320×480 3rd Gen ARM Cortex A-8 iPod touch 800MHz 256 MB NO 4.1 6.0 640×960 4th Gen ARM Cortex A-8 iPod touch 800Mhz dual– 256MB NO 5.0 6.0 640×960 5th Gen core ARM Cortex-A9 iPad 33 Urządze CPU Pamięć GPS Min Max Rozdziel nie czość iPad 1 Ghz 256 MB Cell models3.2 4.3.1+ 768 × ARM DDR 1024 Cortex A-8 iPad 2 1 Ghz dual 512 MB Cell models4.3 6.0 768 × - core ARM DDR2 1024 Cortex A-9 new iPad 1 Ghz dual 1 GB Cell models5.1 6.0 2048 × - core ARM 1536 Cortex A-9 Jak zacząć programować w iOS? 34 • Komputer z systemem Mac OS X, najnowsza wersja wymaga systemu operacyjnego Lion • Xcode: zintegrowane środowisko programistyczne firmy Apple, najnowsza wersja (4.3.3) wymaga systemu operacyjnego w wersji Lion. • Rejestracja w programie dla programistów firmy Apple: iOS Developer Program. iOS Developer Program 35 • Standard iOS