Politechnika Poznańska, Instytut Informatyki, TWO/GE Programowanie dla ios 13 stycznia 2012
Urządzenia ios Urządzenie Data prezentacji iphone 9.01.2007/06.2007 ipod touch 5.09.2007 iphone 3G 9.06.2008 ipod touch 2 gen 9.09.2008 iphone 3GS 8.06.2009 ipod touch 3 gen 9.09.2009 ipad 27.01.2010/04.2010 iphone 4 4.06.2010 ipod touch 4 gen 1.09.2010 ipad 2 2.03.2011 iphone 4S 4.10.2011
Dane techniczne
Dane techniczne System operacyjny: okrojona wersja Mac OS X Mobilna wersja przeglądarki Safari Początkowe wspierane tylko aplikacje webowe Od czerwca 2008 dostępne SDK Dystrybucja aplikacji poprzez AppStore
SDK wymagany Mac z procesorem Intela SDK jest darmowe Do dystrybucji aplikacji należy wykupić subskrypcję Developer Program ($100 rocznie) Duże ograniczenia SDK
Architektura systemu Cocoa Touch Media Core Services Core OS
Architektura systemu Core OS, Core Services - podstawowe interfejsy: typy danych dostęp do plików dostęp do sieci wątki...
Architektura systemu Media: grafika 2D i 3D OpenGL ES, Quartz obsługa audio i wideo Core Audio Core Animation
Cocoa Touch UIKit interfejs użytkownika runtime obsługa zdarzeń API sprzętowe Foundation klasy podstawowe kolekcje wrapery dla usług systemowych podzbiór Cocoa Foundation
Na co uważać Różne wersje aplikacji dla iphone/ipod i ipad - wersje uniwersalne Różne rozdzielczości ekranu Ograniczenia wersji systemu, np. brak ios 4 dla pierwszego iphone i ipod
Narzędzia programistyczne Xcode język - ObjectiveC
Emulator
Model aplikacji Generalnie aplikacje powinny być typu Model-View-Controler obsługa zdarzeń aplikacja powinna: zainicjalizować swoje zmienne w zdarzeniu applicationdidfinishlaunching obsłużyć błąd braku pamięci applicationdidreceivememorywarning posprzątać po sobie - applicationwillterminate
Typy aplikacji Window-Based application View-Based application Tab Bar application Navigation-Based application Utility application OpenGL ES application
Okno i widok Aplikacja jest tworzona za pomocą delegacji Każda aplikacja ma tylko jedno okno (Window) Elementy na ekranie umieszczone są w widokach (View), może ich być wiele Niektóre widoki mogą się obracać
Hello World Tworzymy nowy projekt w XCode Window-Based Application
Kod aplikacji
Deklaracja Kod delegacji
Implementacja Kod delegacji
Efekt
Kontrolki Dostępny jest standardowy zestaw kontrolek
Kontrolery Dostępne kontrolery
i widoki Widoki danych
Pozostałe elementy UI
TeachTool obliczanie punktacji w skali 6-stopniowej obliczanie wyniku egzaminu dyplomowego dwa widoki wybierane przez TabBar
TeachTool tworzymy nowy projekt Window-based Application
dodajemy klasę kontrolera
tworzymy klasę PunktacjaViewController
podobnie dodajemy klasę EgzaminViewController
w delegacie aplikacji dodajemy outlet do kontrolera zakładek
otwieramy MainWindow.xib w Interface builderze dodajemy do okna TabBar Controller
wybieramy pierwszą zakładkę ustawiamy jej plik zasobów w inspektorze
ustawiamy własności zakładki
wiążemy outlet z delegacji z kontrolerem zakładek
edytujemy PunktacjaViewController
edytujemy PunktacjaViewController
projektujemy widok dodajemy powiązania
edytujemy EgzaminViewController
Działająca aplikacja
Katalog Lego
Katalog Lego Informacje o zestawach przechowywane lokalnie w bazie danych Parser strony shop.lego.com pod Windows Dane eksportowane do bazy sqlite Ceny ze sklepu Lego i Allegro
Strona Lego
Parser Parsujemy zestawy wg kategorii Jeżelli zestaw jest w kilku kategoriach zapamiętujemy to Opis zestawu jest pamiętany jako HTML Dodatkowo parsujemy polski sklep internetowy
SQLite Kompaktowa baza danych napisana w C Public Domain implementuje większość funkcji z SQL-92 wykorzystywany w wielu systemach i aplikacjach
Schemat bazy danych
Nowy projekt projekt w Xcode 4 aplikacja typu nawigacyjnego
Nowy projekt
Nowy projekt
Ustawienia projektu Nazwa Docelowa platforma Ikony: zwykła 57x57 px retina 114x114 px ekran startowy
Biblioteka SQLite w zakładce Build Phases dodajemy bibliotekę libsqlite3.dylib tworzymy bazę (np. wtyczka do FireFox) do projektu dodajemy plik z bazą
Kontroler głównego widoku
Kontroler głównego widoku Przy pierwszym uruchomieniu bazę danych należy skopiować do katalogu roboczego W przyszłości aktualizacja bazy danych
Kontroler głównego widoku
Kontroler głównego widoku
Kontroler głównego widoku
Kontroler głównego widoku
Kontroler widoku kategorii
Kontroler widoku kategorii
Kontroler widoku kategorii
Kontroler widoku kategorii
Kontroler widoku kategorii
Klasa zestawu
Klasa zestawu
Klasa zestawu
Kontroler widoku zestawu
Kontroler widoku zestawu
Widok zestawu
Efekt
Developer Portal
ios Developer Portal
ios Developer Portal Certyfikat główny Numer UDID urządzenia Identyfikatory aplikacji Provisioning profile
Certyfikat główny
Numery UDID
Identyfikatory aplikacji
Profile
Dostępne API akcelerometry pozycjonowanie (GPS, triangulacja) Google Maps OpenGL XML przeglądarka webowa SQLLite aparat
Program MFI Made For i(phone, Pod, Pad) Możliwość projektowania akcesoriów podłączanych bezpośrednio do urządzeń
Do zobaczenia