iOS. Tajniki SDK. Biblioteka przydatnych narzędzi - ebook
iOS. Tajniki SDK. Biblioteka przydatnych narzędzi - ebook
Poznaj zaawansowane możliwości platformy iOS! Programowanie aplikacji przy użyciu iOS SDK
Systemy spod znaku jabłka od zawsze wyznaczały trendy w wyglądzie interfejsu użytkownika. Nie inaczej jest w przypadku urządzeń mobilnych. Platforma iOS zdobyła uznanie użytkowników dzięki niezwykłej wygodzie użytkowania, atrakcyjnemu wyglądowi oraz ogromnym możliwościom. Jeżeli chcesz stworzyć aplikację, w której wykorzystasz zaawansowane narzędzia i mechanizmy SDK, to trafiłeś na doskonałą publikację!
W trakcie lektury będziesz mieć niepowtarzalną okazję poznania systemu iOS od podszewki — wraz z jego licznymi bibliotekami, ułatwiającymi pracę programistom. Jaką wiedzę zdobędziesz dzięki tej książce? Nauczysz się tworzyć animacje z wykorzystaniem UIKit Dynamics oraz stosować biblioteki Core Location, MapKit i Geofencing. Ponadto dowiesz się, do czego służą Game Center oraz iCloud. W kolejnych rozdziałach znajdziesz informacje poświęcone komunikacji między systemami za pośrednictwem formatu JSON, lokalnym repozytoriom danych oraz zaawansowanym operacjom na tekście przy użyciu biblioteki TextKit. Dodatkowo poznasz tajniki SDK i sprytne techniki pracy z IDE. To obowiązkowa lektura każdego programisty platformy iOS!
Dzięki tej książce:
- poznasz najbardziej przydatne biblioteki platformy iOS
- wykorzystasz potencjał środowiska Xcode
- zintegrujesz swoją aplikację z iCloud i Game Center
- zaznajomisz się z zaawansowanymi funkcjami języka Objective-C
- stworzysz lepszą aplikację w krótszym czasie
iOS dla ambitnych!
Spis treści
Słowo wstępne (17)
Przedmowa (19)
O autorach (27)
Rozdział 1. UIKit Dynamics (29)
- Przykładowa aplikacja (29)
- Wprowadzenie do UIKit Dynamics (30)
- Implementacja mechanizmów UIKit Dynamics (31)
- Grawitacja (32)
- Kolizje (33)
- Powiązania (35)
- Sprężynowanie (36)
- Przyciąganie (37)
- Siły odpychania (37)
- Właściwości elementu (39)
- UIDynamicAnimator i UIDynamicAnimatorDelegate pod lupą (41)
- Podsumowanie (41)
- Ćwiczenia (42)
Rozdział 2. Core Location, MapKit i wirtualne granice (43)
- Przykładowa aplikacja (43)
- Uzyskiwanie położenia użytkownika (44)
- Wymagania i uprawnienia (44)
- Sprawdzanie dostępności usług (48)
- Rozpoczęcie pobierania informacji o położeniu (48)
- Parsowanie i interpretacja danych położenia (50)
- Powiadomienia o istotnych zmianach (52)
- Stosowanie plików GPX do testowania lokalizacji (52)
- Wyświetlanie map (53)
- Układy współrzędnych (53)
- Konfiguracja MKMapKit (54)
- Reagowanie na zachowania użytkownika (56)
- Adnotacje i warstwy (56)
- Dodawanie adnotacji (57)
- Wyświetlanie standardowych i specyficznych widoków adnotacji (59)
- Przeciągalne widoki adnotacji (62)
- Praca z warstwami mapy (63)
- Geokodowanie i odwrotne geokodowanie (65)
- Geokodowanie adresu (65)
- Odwrotne geokodowanie położenia (68)
- Wirtualne granice (71)
- Weryfikacja możliwości w zakresie monitorowania obszaru (71)
- Określanie granic (72)
- Monitorowanie zmian (72)
- Wyznaczanie tras (74)
- Podsumowanie (79)
- Ćwiczenia (79)
Rozdział 3. Tablice wyników (81)
- Uderz kaktus (81)
- Wyświetlanie kaktusa (83)
- Interakcja z kaktusami (85)
- Wyświetlanie liczby żyć i wyniku (87)
- Wstrzymywanie i wznawianie (89)
- Uwagi końcowe (90)
- iTunes Connect (90)
- Menedżer Game Center (94)
- Uwierzytelnianie (95)
- Typowe błędy związane z uwierzytelnianiem (96)
- Uwierzytelnianie w iOS 6 (97)
- Wysyłanie wyników (99)
- Dodawanie wyników do gry Whack-a-Cac (102)
- Wyświetlanie list wyników (104)
- Wyzwania (106)
- Co dalej z tablicami wyników? (108)
- Podsumowanie (109)
- Ćwiczenia (109)
Rozdział 4. Osiągnięcia (111)
- iTunes Connect (111)
- Wyświetlanie informacji o osiągnięciach (114)
- Menedżer Game Center i uwierzytelnianie (115)
- Pamięć podręczna osiągnięć (115)
- Zgłaszanie osiągnięć (117)
- Dodawanie haków osiągnięć (119)
- Banery z powiadomieniami (120)
- Wyzwania (120)
- Dodawanie osiągnięć do gry (123)
- Ukończone i nieukończone osiągnięcia (124)
- Osiągnięcia częściowe (125)
- Osiągnięcia zdobywane na przestrzeni wielu sesji (127)
- Grupowanie osiągnięć i przechowywanie ich dokładności (127)
- Osiągnięcia z wykorzystaniem zegarów (128)
- Resetowanie osiągnięć (129)
- Co jeszcze można osiągnąć? (130)
- Podsumowanie (132)
- Ćwiczenia (132)
Rozdział 5. Książka adresowa (133)
- Czemu obsługa książki adresowej jest istotna? (133)
- Ograniczenia związane ze stosowaniem książki adresowej (134)
- Wprowadzenie do przykładowej aplikacji (134)
- Dodanie obsługi książki adresowej (135)
- Wczytywanie danych z książki adresowej (137)
- Odczytywanie wielowartości z książki adresowej (139)
- Etykiety w książce adresowej (139)
- Obsługa adresów (140)
- Interfejs graficzny książki adresowej (141)
- Kontrolka wyboru kontaktów (142)
- Tworzenie kontaktów z poziomu kodu (147)
- Podsumowanie (148)
- Ćwiczenia (149)
Rozdział 6. Obsługa bibliotek muzyki (151)
- Wprowadzenie do przykładowej aplikacji (151)
- Tworzenie silnika odtwarzania (152)
- Rejestrowanie powiadomień odtwarzania (153)
- Kontrolki użytkownika (154)
- Obsługa zmiany stanu (156)
- Czas trwania a zegary (160)
- Tryb losowy i powtarzanie (161)
- Media Picker - kontrolka wyboru multimediów (162)
- Ręczny wybór piosenek (164)
- Odtwarzanie losowo wybranej piosenki (164)
- Wyszukiwanie piosenek w oparciu o predykaty (166)
- Podsumowanie (167)
- Ćwiczenia (168)
Rozdział 7. Obsługa i parsowanie formatu JSON (169)
- JSON (169)
- Korzyści wynikające ze stosowania formatu JSON (170)
- Zasoby JSON (170)
- Omówienie przykładowej aplikacji (170)
- Uzyskanie dostępu do serwera (171)
- Pobieranie danych w formacie JSON z serwera (171)
- Tworzenie obiektu żądania (171)
- Przetwarzanie odpowiedzi (172)
- Parsowanie danych w formacie JSON (173)
- Wyświetlanie danych (174)
- Wysyłanie ogłoszenia (175)
- Przekształcanie danych na format JSON (176)
- Wysyłanie dokumentu JSON do serwera (178)
- Podsumowanie (179)
- Ćwiczenie (179)
Rozdział 8. iCloud w praktyce (181)
- Przykładowa aplikacja (182)
- Konfiguracja aplikacji dla usługi iCloud (182)
- Konfiguracja konta (182)
- Włączenie obsługi iCloud (184)
- Inicjalizacja usługi iCloud (184)
- Wprowadzamy klasę UIDocument (185)
- Tworzenie podklas klasy UIDocument (186)
- Interakcja z obiektem klasy UIDocument (187)
- Interakcja z usługą iCloud (188)
- Wyświetlanie dokumentów w usłudze iCloud (188)
- Wykrywanie konfliktów w usłudze iCloud (191)
- Rozwiązywanie konfliktów (193)
- Synchronizacja słowników (197)
- Podsumowanie (199)
- Ćwiczenia (199)
Rozdział 9. Powiadomienia (201)
- Różnice pomiędzy powiadomieniami lokalnymi i zdalnymi (201)
- Przykładowa aplikacja (202)
- Konfiguracja aplikacji (203)
- Tworzenie programistycznego certyfikatu SSL dla zdalnych powiadomień (206)
- Programistyczny profil poświadczeń (209)
- Przygotowanie własnego dźwięku (213)
- Rejestrowanie aplikacji w celu otrzymywania zdalnych powiadomień (214)
- Planowanie powiadomień lokalnych (215)
- Otrzymywanie powiadomień (216)
- Serwer powiadomień zdalnych (217)
- Podstawowa konfiguracja Rails (218)
- Dodawanie obsługi urządzeń i wykrzyknień (219)
- Kontroler urządzeń (222)
- Kontroler wykrzyknień (222)
- Połączenie aplikacji mobilnej i serwera (223)
- Wysyłanie zdalnych powiadomień (226)
- Obsługa informacji zwrotnej od APNs (227)
- Podsumowanie (227)
- Ćwiczenie (227)
Rozdział 10. Bluetooth a Game Kit (229)
- Ograniczenia komunikacji sieciowej Bluetooth w Game Kit (229)
- Korzyści ze stosowania Bluetooth w Game Kit (230)
- Przykładowa aplikacja (230)
- Wybór partnera - kontrolka Peer Picker (234)
- Wysyłanie danych (238)
- Tryby transferu danych (238)
- Wysyłanie danych w przykładowej aplikacji (239)
- Otrzymywanie danych (240)
- Otrzymywanie danych w przykładowej aplikacji (240)
- Zmiany stanu (241)
- Zaawansowane funkcje (242)
- Wyświetlanie nazwy partnera (242)
- Nawiązywanie połączenia bez kontrolki Peer Picker (242)
- Tryby sesji (244)
- Podsumowanie (244)
- Ćwiczenia (244)
Rozdział 11. AirPrint (245)
- Drukarki AirPrint (245)
- Testowanie technologii AirPrint (247)
- Drukowanie tekstu (247)
- Informacje na temat drukowania (248)
- Ustawienie zakresu stron (249)
- Obsługa błędów (250)
- Rozpoczynamy drukowanie (250)
- Informacja zwrotna od symulatora drukowania (251)
- Centrum drukowania (Print Center) (251)
- UIPrintInteractionControllerDelegate (253)
- Drukowanie wyrenderowanego dokumentu HTML (254)
- Drukowanie plików PDF (255)
- Podsumowanie (256)
- Ćwiczenia (256)
Rozdział 12. Wprowadzenie do Core Data (257)
- Kiedy stosować Core Data? (258)
- Obiekty zarządzane Core Data (259)
- Obiekty zarządzane (259)
- Model zarządzanego obiektu (260)
- Migracje modeli zarządzanych obiektów (262)
- Tworzenie obiektów zarządzanych (263)
- Pobieranie i sortowanie obiektów (263)
- Kontroler pobranych wyników (265)
- Środowisko Core Data (265)
- Koordynator trwałego magazynu (265)
- Trwały magazyn (266)
- Kontekst obiektów zarządzanych (266)
- Podsumowanie (266)
Rozdział 13. Core Data w praktyce (269)
- Przykładowa aplikacja (269)
- Tworzenie projektu wykorzystującego Core Data (270)
- Środowisko Core Data (272)
- Tworzenie modelu obiektu zarządzanego (274)
- Tworzenie encji (275)
- Dodawanie atrybutów (275)
- Definiowanie związków (276)
- Własne podklasy obiektów zarządzanych (277)
- Konfiguracja domyślnych danych (278)
- Wstawianie nowych obiektów zarządzanych (278)
- Inne sposoby konfiguracji domyślnych danych (279)
- Wyświetlanie obiektów zarządzanych (280)
- Tworzenie własnych żądań pobrania (280)
- Pobieranie za pomocą identyfikatora obiektu (282)
- Wyświetlanie danych obiektu (283)
- Stosowanie predykatów (284)
- Kontroler pobranych wyników (285)
- Przygotowanie kontrolera pobranych wyników (287)
- Integracja widoku tabeli z kontrolerem pobranych wyników (288)
- Reagowanie na zmiany w bibliotece Core Data (290)
- Dodawanie, edytowanie i usuwanie obiektów zarządzanych (293)
- Wstawianie nowego obiektu zarządzanego (293)
- Usuwanie obiektu zarządzanego (294)
- Edycja istniejącego obiektu zarządzanego (294)
- Zapisywanie i wycofywanie zmian (295)
- Podsumowanie (296)
- Ćwiczenia (297)
Rozdział 14. Mechanizmy języka (299)
- Literały (300)
- NSNumber (300)
- NSArray (301)
- NSDictionary (301)
- Opakowania (302)
- Automatyczne zliczanie referencji (302)
- Stosowanie ARC w nowym projekcie (303)
- Konwersja istniejącego projektu na ARC (303)
- Jak stosować ARC (305)
- Kwalifikatory ARC (307)
- Bloki (307)
- Deklarowanie i stosowanie bloków (308)
- Przechwytywanie stanu za pomocą bloków (309)
- Bloki jako parametry metod (310)
- Pamięć, wątki i bloki (311)
- Właściwości (313)
- Deklarowanie właściwości (313)
- Syntetyzacja właściwości (315)
- Dostęp do właściwości (315)
- Notacja kropkowa (315)
- Szybkie wyliczenia (316)
- Podmiana metod (317)
- Podsumowanie (319)
- Ćwiczenia (320)
Rozdział 15. Integracja Twittera i Facebooka z wykorzystaniem frameworku społecznościowego (321)
- Integracja z usługami społecznościowymi (321)
- Przykładowa aplikacja (322)
- Logowanie (323)
- Stosowanie klasy SLComposeViewController (324)
- Wysyłanie wiadomości za pomocą własnego interfejsu (326)
- Wysyłanie komunikatów do serwisu Twitter (327)
- Wysyłanie wiadomości do Facebooka (330)
- Tworzenie aplikacji do serwisu Facebook (330)
- Dostęp do osi czasu użytkownika (336)
- Twitter (337)
- Facebook (341)
- Podsumowanie (345)
- Ćwiczenia (345)
Rozdział 16. Obsługa zadań działających w tle (347)
- Przykładowa aplikacja (348)
- Sprawdzanie dostępności zadań w tle (348)
- Kończenie zadania działającego w tle (349)
- Identyfikator zadania w tle (350)
- Metoda obsługi wygaśnięcia (350)
- Kończenie zadania w tle (351)
- Implementacja aktywności wykonywanych w tle (352)
- Rodzaje aktywności wykonywanych w tle (353)
- Odtwarzanie muzyki w tle (354)
- Podsumowanie (356)
- Ćwiczenia (357)
Rozdział 17. Grand Central Dispatch a wydajność (359)
- Przykładowa aplikacja (359)
- Wprowadzenie do kolejek (361)
- Wykonywanie operacji w głównym wątku (361)
- Działanie w tle (363)
- Uruchamianie kolejki operacji (365)
- Operacje współbieżne (366)
- Operacje szeregowe (367)
- Anulowanie operacji (369)
- Własne operacje (369)
- Uruchamianie kolejki dyspozytora (371)
- Współbieżne kolejki dyspozytora (372)
- Szeregowe kolejki dyspozytora (373)
- Podsumowanie (375)
- Ćwiczenia (376)
Rozdział 18. Stosowanie pęków kluczy do zabezpieczania danych (377)
- Wprowadzenie do przykładowej aplikacji (378)
- Konfiguracja i stosowanie pęku kluczy (378)
- Konfiguracja obiektu klasy KeychainItemWrapper (379)
- Przechowywanie i pobieranie PIN-u (380)
- Klucze atrybutów pęku kluczy (381)
- Zabezpieczanie słownika (382)
- Resetowanie elementu pęku kluczy (384)
- Współdzielenie pęku kluczy pomiędzy aplikacjami (384)
- Kody błędów pęków kluczy (385)
- Podsumowanie (386)
- Ćwiczenia (386)
Rozdział 19. Operacje na filtrach i obrazkach (387)
- Przykładowa aplikacja (387)
- Zasady obsługi i wyświetlania obrazków (388)
- Tworzenie obiektu obrazka (388)
- Wyświetlanie obrazka (389)
- Stosowanie kontrolki Image Picker (391)
- Zmiana rozmiaru obrazka (394)
- Filtry biblioteki Core Image (395)
- Kategorie filtrów a filtry (395)
- Atrybuty filtra (397)
- Inicjalizacja obrazka (400)
- Renderowanie przefiltrowanego obrazka (401)
- Łączenie filtrów (401)
- Wykrywanie twarzy (403)
- Konfiguracja detektora twarzy (403)
- Przetwarzanie rysów twarzy (404)
- Podsumowanie (405)
- Ćwiczenia (406)
Rozdział 20. Widoki kolekcji (407)
- Przykładowa aplikacja (407)
- Wprowadzamy widoki kolekcji (408)
- Konfigurowanie widoku kolekcji (408)
- Implementacja metod źródła danych dla widoku kolekcji (411)
- Implementacja metod delegacji widoku kolekcji (413)
- Dostosowywanie widoku kolekcji i układu przepływu (415)
- Podstawowe modyfikacje (415)
- Widoki dekoracyjne (416)
- Tworzenie własnych układów (420)
- Animacje widoku kolekcji (424)
- Zmiany układu widoku kolekcji (424)
- Animacje układu widoku kolekcji (426)
- Animacje zmiany widoku kolekcji (427)
- Podsumowanie (428)
- Ćwiczenia (428)
Rozdział 21. Wprowadzenie do TextKit (429)
- Przykładowa aplikacja (430)
- Klasa NSLayoutManager (430)
- NSTextStore (431)
- Dynamiczne wykrywanie hiperłączy (433)
- Wykrywanie trafień (434)
- Ścieżki wyłączające (435)
- Podświetlanie uzależnione od treści (436)
- Zmiana ustawień czcionki dla typów dynamicznych (441)
- Podsumowanie (442)
- Ćwiczenia (442)
Rozdział 22. Rozpoznawanie gestów (443)
- Rodzaje detektorów gestów (443)
- Sposoby użycia detektorów gestów (444)
- Wprowadzenie do przykładowej aplikacji (444)
- Detektor stuknięć (445)
- Detektor szczypnięć (446)
- Wiele detektorów w jednym widoku (448)
- Detektory gestów - z czym to się je (450)
- Wiele detektorów w jednym widoku - reduks (451)
- Wykrywanie nieudanych gestów (453)
- Tworzenie własnych podklas UIGestureRecognizer (454)
- Podsumowanie (455)
- Ćwiczenie (455)
Rozdział 23. Obsługa bibliotek zdjęć (457)
- Przykładowa aplikacja (457)
- Biblioteka zasobów (458)
- Wyliczanie zasobów i grup zasobów (458)
- Uprawnienia (459)
- Grupy (460)
- Zbiory (464)
- Wyświetlanie zasobów (466)
- Zapisywanie na rolce aparatu (470)
- Obsługa strumienia zdjęć (472)
- Podsumowanie (474)
- Ćwiczenia (474)
Rozdział 24. Passbook i PassKit (475)
- Przykładowa aplikacja (476)
- Projektowanie kuponu (477)
- Rodzaje kuponów (477)
- Bilet podróżny - układ (478)
- Kupon zniżkowy - układ (478)
- Wydarzenie - układ (478)
- Kupon ogólny - układ (479)
- Karta podarunkowa - układ (480)
- Wyświetlanie kuponu (481)
- Tworzenie kuponu (482)
- Identyfikacja kuponu (484)
- Istotne informacje na temat kuponu (484)
- Identyfikacja kodu kreskowego (485)
- Informacje na temat wyglądu kuponu (486)
- Pola kuponu (486)
- Podpisywanie i tworzenie paczki kuponu (489)
- Tworzenie identyfikatora typu kuponu (489)
- Tworzenie certyfikatu podpisywania kuponów (491)
- Tworzenie manifestu (495)
- Podpisywanie i tworzenie paczki dla kuponu (495)
- Testowanie kuponu (496)
- Interakcja z kuponami z poziomu aplikacji (497)
- Automatyczna aktualizacja kuponów (506)
- Podsumowanie (507)
- Ćwiczenia (507)
Rozdział 25. Debugowanie i narzędzia (509)
- Wprowadzenie do debugowania (509)
- Pierwszy błąd w programie komputerowym (510)
- Podstawy debugowania w Xcode (510)
- Punkty przerwania (512)
- Dostosowywanie punktów przerwania (513)
- Punkty przerwania wyjątków i symboliczne punkty przerwania (514)
- Zasięg punktu przerwania (514)
- Praca z debuggerem (515)
- Dodatkowe narzędzia - instrumenty (517)
- Interfejs instrumentów (518)
- Odkrywamy instrumenty - profiler czasowy (520)
- Odkrywamy instrumenty - wycieki pamięci (522)
- Co dalej z instrumentami? (525)
- Podsumowanie (526)
- Ćwiczenia (526)
Skorowidz (527)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-9183-8 |
Rozmiar pliku: | 14 MB |