Brandon Alexander, J. Bradford Dillon, Kevin Y. Kim tworzenie aplikacji na platformę ios 5 z ebook.pdf

(27697 KB) Pobierz
1017315807.001.png
Spis treści
O autorach .............................................................................................. 11
O recenzencie technicznym .................................................................. 13
Podziękowania ....................................................................................... 15
Wprowadzenie ....................................................................................... 17
Rozdział 1
Zaczynamy! ............................................................................................. 19
Dla kogo jest ta książka? ...................................................................................... 19
Czym jest ta książka? ............................................................................................ 20
Czego potrzebujesz, aby rozpocząć pracę? ........................................................ 21
Co znajdziesz w tej książce? ................................................................................ 21
A więc do dzieła! ................................................................................................... 24
Rozdział 2
Pierwszorzędne narzędzia .................................................................... 25
Rozejrzyj się ........................................................................................................... 26
Tak wiele paneli! ............................................................................................. 29
Edytory i powiązane z nimi narzędzia ......................................................... 29
Pasek Jump Bar ............................................................................................... 31
Okno Organizer .............................................................................................. 32
Karty, karty i jeszcze więcej kart ................................................................... 33
Wracamy do kodu ................................................................................................ 34
Uaktualnienie modelu Core Data ................................................................ 34
Dodanie nowego kontrolera widoku ........................................................... 39
Podsumowanie dotychczasowych działań .................................................. 45
Praca z instrumentami narzędzia Instruments ................................................ 45
Praca z narzędziem Instruments .................................................................. 47
Tak wiele instrumentów ................................................................................ 48
Dostrajanie wydajności działania ....................................................................... 50
Podsumowanie ...................................................................................................... 51
6
Tworzenie aplikacji na platformę iOS
Rozdział 3
Trzy ekrany i cóż… to działa ................................................................. 53
Praca z GitHub ...................................................................................................... 53
Nawiązanie połączenia z aplikacją Super Checkout ........................................ 55
Rozejrzyj się ........................................................................................................... 58
Uruchomienie aplikacji Super Checkout .......................................................... 59
Poruszanie się po projekcie (i po Xcode) .......................................................... 60
Podsumowanie ...................................................................................................... 61
Rozdział 4
Zarządzanie pamięcią i diagnostyka .................................................... 63
Gałęzie to nasi przyjaciele .................................................................................... 64
Automatyczne zarządzanie pamięcią ................................................................. 65
Konwersja na wersję w technologii ARC .................................................... 66
Wykrywanie cykli zachowania ..................................................................... 70
Powrót do ręcznego zarządzania licznikiem użycia obiektu .......................... 71
Najlepsze praktyki w zakresie tworzenia kodu ................................................. 71
Przytrzymać czy nie przytrzymać — oto jest pytanie ................................ 71
Łączenie właściwości oraz polimorficzne kropki ....................................... 73
Analiza statyczna ............................................................................................ 76
Zombie — nie, nie ten rodzaj Zombie ............................................................... 79
Zombie w innych wątkach .................................................................................. 83
Wycieki .................................................................................................................. 86
Powracamy do cyklu zachowania ................................................................ 91
GDB kung-fu ......................................................................................................... 92
GDB, nie zawiedź mnie teraz ........................................................................ 93
Rozpoczęcie pracy z GDB ............................................................................. 94
Ustalanie kontekstu — gdzie ja jestem? ...................................................... 95
Przegląd danych — co otrzymałem? ............................................................ 97
Wymuszenie awarii nie jest takie trudne .................................................. 100
Zebranie wszystkiego w całość ................................................................... 102
Usunięcie naszego błędu ............................................................................. 102
Kiedy wszystko inne zawodzi ............................................................................ 104
Błąd typu Heisenbug .................................................................................... 104
Telefon do przyjaciela .................................................................................. 105
Rozpoczęcie od nowa ................................................................................... 105
Skończyliśmy… prawie ...................................................................................... 105
Podsumowanie .................................................................................................... 107
Rozdział 5
Core Animation i płynne przewijanie ................................................ 109
Wykorzystanie wątku głównego ....................................................................... 109
Poznanie pętli zdarzeń ................................................................................. 110
Optymalizacja wykonywania kodu ............................................................ 111
Mały skok w bok, czyli wszystko o docelowych rodzajach plików
wykonywalnych .......................................................................................... 113
Powrót do profilowania ............................................................................... 114
Usprawnienie listy produktów ................................................................... 120
 
7
Spis treści
Co się dzieje w tle podczas przewijania? ................................................... 123
Leniwe wczytywanie obrazów ..................................................................... 123
Nigdy więcej niezadowalającego przewijania ................................................. 133
Krótki opis technologii Core Graphics ...................................................... 133
Powrót do narzędzia Instruments .............................................................. 135
Ucz się od Apple ........................................................................................... 142
Podsumowanie .................................................................................................... 144
Rozdział 6
Sieć, buforowanie i zarządzanie energią ........................................... 145
Zrozumienie sieci i buforowania ...................................................................... 146
API po stronie klienta .................................................................................. 146
API po stronie serwera ................................................................................ 159
Spowolnienie sieci za pomocą Network Link Conditioner .................... 163
Kontrolowanie bufora .................................................................................. 164
Implementacja bufora na dysku ................................................................. 171
Zarządzanie energią ............................................................................................ 173
Sprzęt .............................................................................................................. 173
Techniki tworzenia kodu ............................................................................. 175
Podsumowanie .................................................................................................... 180
Rozdział 7
Przygotowanie wersji beta ................................................................. 181
Zarządzanie testowaniem wersji beta .............................................................. 182
Zdefiniowanie wersji beta ............................................................................ 182
Znalezienie testerów wersji beta ................................................................. 182
Przeszkolenie testerów ................................................................................. 184
Tworzenie wersji tymczasowych aplikacji ...................................................... 184
Certyfikaty, iOS Provisioning Portal, dystrybucja, jejku! ....................... 185
Alfa, beta, gamma? ............................................................................................. 203
Podsumowanie .................................................................................................... 203
Rozdział 8
Dlaczego to nie działa? ........................................................................ 205
Programowanie techniką Test Driven Development .................................... 205
Kiedy powinienem rozpocząć testowanie? ............................................... 206
Xcode ułatwia przeprowadzanie testów .................................................... 207
Dopracowanie testów ................................................................................... 218
Wykorzystanie w aplikacji zdobytej wiedzy .................................................... 220
Testowanie SCJSONParser ......................................................................... 220
Obiekt atrapa ................................................................................................. 221
Testowanie negacji ....................................................................................... 223
Negatywne testowanie i użyteczne porażki ............................................... 224
Interfejs użytkownika dla testowania i instrument Automation ................. 227
Rozpoczęcie pracy z instrumentem Automation ..................................... 229
Skryptowanie testów interfejsu użytkownika ........................................... 233
Wprowadzenie błędu ................................................................................... 237
Potęga automatyzacji ................................................................................... 240
Testuj w taki czy inny sposób ........................................................................... 241
8
Tworzenie aplikacji na platformę iOS
Rozdział 9
Czy mogę to jakoś zautomatyzować? ................................................ 243
Ciągła integracja ................................................................................................. 243
Poznaj aplikację Jenkins .............................................................................. 244
Rozpoczęcie pracy z aplikacją Jenkins ....................................................... 244
Interfejs aplikacji Jenkins ............................................................................ 245
Egzorcyzmy z demonem aplikacji Jenkins ................................................ 249
Utworzenie zadania ...................................................................................... 251
Skryptowanie Xcode .................................................................................... 257
Kto zepsuł aplikację? .................................................................................... 260
Kontrola jakości ............................................................................................ 261
Łatwiejsza dystrybucja ................................................................................. 265
PackageApplication, dlaczego? ................................................................... 267
Polecenie xcrun ............................................................................................. 267
Utwórz jedynie archiwum ........................................................................... 267
Eksport poza aplikację Jenkins ................................................................... 268
Czy ktokolwiek może się tym zająć? .......................................................... 270
Tworzenie conocnych wersji aplikacji ....................................................... 271
Zabezpieczenie na przyszłość ..................................................................... 272
Co jeszcze możemy zrobić? ......................................................................... 273
Rozdział 10 Teraz chcemy wersję dla iPada ........................................................... 275
Zanim rozpoczniemy tworzenie kodu ............................................................. 275
Projektowanie dla iPada .............................................................................. 276
Implementacja wersji dla iPada ........................................................................ 279
Modyfikacja docelowego rodzaju pliku wynikowego ............................. 279
Delegat aplikacji i uruchomienie interfejsu użytkownika ...................... 280
Uaktualnienie listy produktów
oraz widoku szczegółowych informacji o produkcie ............................ 282
Modyfikacja kontrolera widoku koszyka na zakupy ............................... 302
Ostatnie przemyślenia ........................................................................................ 304
Podsumowanie .................................................................................................... 304
Rozdział 11 Jak mogę się tym podzielić? ............................................................... 307
Umieszczenie kodu w bibliotece statycznej .................................................... 308
Utworzenie biblioteki statycznej ................................................................ 309
Używanie biblioteki statycznej ................................................................... 315
Dzielenie się kodem poprzez serwis GitHub .................................................. 328
Rejestracja w serwisie GitHub .................................................................... 329
Tworzenie repozytorium współdzielonego .............................................. 330
Wprowadzanie zmian do repozytorium ................................................... 333
Używanie funkcji GitHub ........................................................................... 334
Rozsądny wybór licencji .................................................................................... 336
Podsumowanie .................................................................................................... 336
 
Zgłoś jeśli naruszono regulamin