Sie sind hier
E-Book

Apps für iOS 10 professionell entwickeln

Sauberen Code schreiben mit Swift 3 und Objective-C. Stabile Apps für iPhone und iPad programmieren. Techniken & Methoden von Grund auf verstehen

AutorThomas Sillmann
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2016
Seitenanzahl811 Seiten
ISBN9783446452060
FormatPDF/ePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis45,99 EUR

Mit Swift 3 und Objective-C professionelle Apps entwickeln - das Praxisbuch für alle iOS-Entwickler
Diese komplett überarbeitete und aktualisierte Neuauflage bietet Ihnen einen vollständigen Überblick über alle wichtigen Methoden und Techniken der iOS 10-Programmierung. Thomas Sillmann zeigt Ihnen, wie Sie auf einer sauberen Code-Basis zukunftsfähige Apps für iPhone, iPad und Apple Watch entwickeln.
Entwickeln, warten und erweitern Sie Ihre eigenen, mobilen Anwendungen
Sie lernen Swift 3 und Objective-C von Grund auf kennen und erfahren alles Wissenswerte über die Grundlagen der iOS-Entwicklung sowie die Entwicklungsumgebung Xcode. Darauf aufbauend beschäftigen Sie sich mit zentralen Themen der iOS-Programmierung wie MVC-Pattern, View-Controller und Views sowie Datenhaltung.
Um fortgeschrittene Bereiche wie Local und Push Notifications und alle verfügbaren Arten von Extensions geht es in den folgenden Kapiteln. Abgerundet wird das Buch durch die Themen Unit-, UI- und Performance-Tests, Versionierung mit Git sowie der Arbeit im Team mit dem Xcode-Server. Am Ende veröffentlichen Sie im App Store eigene professionelle Anwendungen für iPhone, iPad und Apple Watch.

Thomas Sillmann ist leidenschaftlicher Autor, Apple-Entwickler und Trainer. Mit seiner Begeisterung für das Schreiben und die Programmierung hat er bereits mehrere Fachbücher, Fachartikel und Online-Kurse veröffentlicht. Thomas lebt und arbeitet in Aschaffenburg.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt8
Vorwort22
Danksagung26
1 Über iOS28
1.1 Was ist iOS?28
1.1.1 iOS und macOS29
1.1.2 Besonderheiten der iOS-Plattform30
1.2 iOS für Entwickler31
1.2.1 Hardware für Entwickler31
1.2.2 Software für Entwickler33
1.2.3 Das Apple Developer Program33
1.3 Der Aufbau von iOS35
1.3.1 Die vier Schichten von iOS35
1.4 Die perfekte iOS-App37
1.4.1 iOS Human Interface Guidelines38
2 Die (bisherige) Programmiersprache – Objective-C40
2.1 Über Objective-C und objektorientierte Programmierung40
2.2 Grundlagen der Programmierung41
2.2.1 Objekte41
2.2.2 Primitive Datentypen41
2.2.3 Variablen42
2.2.4 Operatoren44
2.2.5 Abfragen und Schleifen44
2.2.6 Kommentare49
2.3 Aufbau einer Klasse50
2.3.1 Die Header-Datei50
2.3.2 Die Implementation-Datei52
2.3.3 Los geht’s: Unsere erste Klasse!53
2.4 Methoden57
2.4.1 Aufbau von Methoden57
2.4.2 Methoden in Header- und Implementation-Dateien einer Klasse59
2.4.3 Implementierung von Methoden61
2.4.4 Methoden aufrufen63
2.4.5 Klassen- und Instanzmethoden64
2.5 Instanzvariablen65
2.6 Properties67
2.6.1 Aufbau einer Property67
2.6.2 Die Punktnotation69
2.6.3 Optionen70
2.6.4 Direktzugriff auf Properties72
2.6.5 Setter und Getter überschreiben74
2.7 Konstanten76
2.7.1 Deklaration von Konstanten77
2.8 Namenskonventionen78
2.8.1 Klassen78
2.8.2 Methoden78
2.8.3 Properties79
2.9 Strukturen79
2.9.1 enum79
2.9.2 typedef80
2.10 Initialisierung von Objekten81
2.10.1 alloc und init82
2.10.2 Zeiger84
2.11 init im Detail85
2.11.1 Erstellen eigener init-Methoden87
2.11.2 Designated Initializer88
2.12 Vererbung90
2.12.1 Methoden der Superklasse überschreiben92
2.13 Kategorien94
2.13.1 Aufbau von Kategorien94
2.13.2 Kategorien in Xcode erstellen95
2.13.3 Verwenden von Kategorien97
2.14 Erweiterungen97
2.14.1 Aufbau von Erweiterungen98
2.14.2 Erweiterungen innerhalb der Implementation-Datei98
2.14.3 Erweiterungen in Xcode erstellen99
2.15 Protokolle100
2.15.1 Aufbau von Protokollen101
2.15.2 Zuweisen eines Protokolls zu einer Klasse102
2.15.3 Vererbung in Protokollen103
2.15.4 Protokolle in Xcode erstellen103
2.16 #import und @class105
2.16.1 #import105
2.16.2 @class106
2.17 Blöcke107
2.17.1 Was sind Blöcke?108
2.17.2 Aufbau eines Blocks108
2.17.3 Zuweisen eines Blocks zu einer Variablen109
2.17.4 Nutzen eines Blocks als Parameter einer Methode110
2.17.5 Blöcke als Properties112
2.17.6 Blockvariablen112
2.17.7 Globale Blöcke113
2.18 Singletons114
3 Der Neue im Club – Swift116
3.1 Programmierst du noch oder swifst du schon?116
3.1.1 Über Swift116
3.1.2 Voraussetzungen zur Nutzung von Swift117
3.1.3 Swift und Objective-C117
3.1.4 Playgrounds118
3.2 Grundlagen der Programmierung120
3.2.1 Swift Standard Library und Fundamental Types120
3.2.2 Variablen und Konstanten122
3.2.3 Operatoren124
3.2.4 Abfragen und Schleifen125
3.2.5 Kommentare132
3.2.6 print133
3.3 Fundamental Types und Swift Standard Library im Detail135
3.3.1 Strings135
3.3.2 Arrays138
3.3.3 Dictionaries143
3.3.4 Any und AnyObject147
3.4 Aufbau einer Klasse147
3.4.1 Erstellen einer Instanz einer Klasse150
3.4.2 Zugriff auf Eigenschaften einer Klasse150
3.5 Methoden151
3.5.1 Methoden mit Rückgabewert152
3.5.2 Methoden mit Parametern153
3.5.3 Local und External Parameter Names156
3.5.4 Methodennamen in Swift158
3.5.5 Aufruf von Methoden einer Klasse159
3.5.6 Zugriff auf andere Eigenschaften und Methoden einer Klasse160
3.5.7 Klassen- und Instanzmethoden161
3.5.8 Verändern von Parametern einer Methode mittels inout163
3.6 Closures164
3.6.1 Closures als Variablen und Konstanten166
3.6.2 Closures als Parameter für Methoden167
3.6.3 Kurzschreibweise für Closures als Parameter von Methoden170
3.7 Properties173
3.7.1 Computed Properties174
3.7.2 Property Observers177
3.7.3 Type Properties178
3.8 Vererbung179
3.8.1 Überschreiben von Eigenschaften und Methoden der Superklasse181
3.8.2 Zugriff auf Eigenschaften und Methoden der Superklasse182
3.9 Optionals183
3.9.1 Deklaration von Optionals183
3.9.2 Zugriff auf Optionals184
3.10 Initialisierung187
3.10.1 Schreiben von Initializern188
3.10.2 Designated und Convenience Initializer193
3.10.3 Initializer und Vererbung194
3.10.4 Deinitialisierung196
3.11 Type Casting197
3.11.1 Typ prüfen197
3.11.2 Downcasting199
3.12 Enumerations201
3.12.1 Zusätzliche Werte in Membern einer Enumeration speichern202
3.13 Structures204
3.14 Generics205
3.14.1 Generic Function207
3.14.2 Generic Type209
3.15 Error Handling Model211
3.16 Extensions214
3.17 Protocols215
3.17.1 Protocol Type216
3.18 Access Control218
4 Grundlagen der iOS-Entwicklung220
4.1 Foundation-Framework220
4.1.1 Die wichtigsten Klassen aus dem Foundation-Framework und ihre Funktionen221
4.2 UIKit-Framework226
4.3 Speicherverwaltung226
4.4 Besonderheiten von Objective-C230
4.4.1 Kurzschreibweisen zum Erstellen von Objekten230
4.4.2 Vergleichen der Werte von verschiedenen Objekten233
4.4.3 Schlüsselwörter zum Zusammenspiel mit Optionals234
4.5 Besonderheiten von Swift235
4.5.1 Zusammenspiel zwischen Fundamental Types und Foundation-Framework-Klassen235
4.5.2 Playgrounds im Detail235
4.6 ObjectiveC und Swift vereint239
4.6.1 ObjectiveC-Code in Swift verwenden240
4.6.2 Swift-Code in Objective-C verwenden241
4.7 NSError241
4.7.1 Eigene Methode mit NSError-Parameter erstellen243
4.8 Dokumentation244
4.8.1 Besonderheiten bei Methoden245
4.8.2 Doxygen-Dokumentation in Xcode247
4.9 Nebenläufigkeit mit Grand Central Dispatch248
4.9.1 Parallel laufenden Code erstellen249
4.10 Grundlegende Struktur einer App251
4.10.1 main.m251
4.10.2 Info.plist252
4.10.3 App Delegate252
4.11 Lebenszyklus einer iOS-App253
4.11.1 Start einer App253
4.11.2 Lebenszyklus einer App254
4.11.3 Die Methoden des App Delegate255
4.11.4 Start der App256
4.12 Tipps für die tägliche Arbeit258
4.12.1 Die netten Kleinigkeiten .?.?.258
4.12.2 Fast Enumeration in ObjectiveC259
4.12.3 Type Casting in ObjectiveC259
4.12.4 Xcode-Beispielprojekte260
5 Die Entwicklungsumgebung – Xcode262
5.1 Willkommen bei Xcode!262
5.1.1 Was ist Xcode?263
5.1.2 Interface Builder und Xcode – endlich vereint!263
5.2 Arbeiten mit Xcode264
5.2.1 Dateien und Formate eines Xcode-Projekts264
5.2.2 Umgang mit Dateien und Ordnern in Xcode269
5.3 Der Aufbau von Xcode272
5.3.1 Die Toolbar272
5.3.2 Die Navigation Area274
5.3.3 Die Editor Area277
5.3.4 Die Utilities Area279
5.3.5 Die Debug Area280
5.4 Einstellungen in Xcode281
5.4.1 Anpassen von Xcode281
5.4.2 General281
5.4.3 Accounts282
5.4.4 Behaviors283
5.4.5 Navigation283
5.4.6 Fonts & Colors284
5.4.7 Text Editing285
5.4.8 Key Bindings285
5.4.9 Source Control286
5.4.10 Components287
5.4.11 Locations287
5.5 Projekteinstellungen288
5.5.1 Grundlagen288
5.5.2 Einstellungen am Projekt290
5.5.3 Einstellungen am Target293
5.5.4 Einstellungen am Scheme299
5.6 Grafiken und Asset-Bundles302
5.7 Lokalisierung mit Localizable.strings304
5.7.1 Grundlagen304
5.7.2 NSLocalizedString304
5.7.3 Erstellen der Localizable.strings-Datei305
5.7.4 Localized String mit Parameter307
5.7.5 Alle Localized Strings automatisch auslesen308
5.8 Der iOS-Simulator309
5.8.1 Grundlagen309
5.8.2 Funktionen und Möglichkeiten des Simulators309
5.8.3 Performance und Einschränkungen des Simulators313
5.9 Dokumentation313
5.9.1 Nichts geht über die Dokumentation!313
5.9.2 Das Documentation-Window316
5.9.3 Direktes Aufrufen der Dokumentation aus Xcode heraus319
5.10 Devices320
5.11 Organizer322
5.12 Debugging in Xcode325
5.12.1 Was ist Debugging?325
5.12.2 Die Debug Area325
5.12.3 Die Arbeit mit dem Debugger – NSLog und Breakpoints326
5.12.4 Debug Navigator335
5.13 Refactoring336
5.13.1 Grundlagen336
5.13.2 Refactoring-Funktionen in Xcode337
5.14 Instruments340
5.14.1 Über Instruments340
5.14.2 Nächste Schritte343
5.15 Tipps für die tägliche Arbeit343
5.15.1 Man lernt immer was dazu!343
5.15.2 Code Snippets344
5.15.3 Open Quickly345
5.15.4 Caller einer Methode feststellen346
5.15.5 Speicherorte für Ordner und Dateien ändern347
5.15.6 Shortcuts für die Navigation Area347
5.15.7 Run Without Building348
5.15.8 Clean Build349
6 MVC – Model-View-Controller350
6.1 MVC .?.?. was?350
6.2 MVC in der Praxis352
6.3 Kommunikation zwischen Model und Controller352
6.3.1 Key-Value-Observing353
6.3.2 Notifications359
6.4 Kommunikation zwischen View und Controller362
6.4.1 Target-Action362
6.4.2 Delegation364
7 Die Vielfalt der (View-)Controller366
7.1 Alles beginnt mit einem View-Controller .?.?.366
7.2 UIViewController – die Mutter aller View-Controller368
7.2.1 Wichtige Methoden von UIViewController370
7.2.2 UIView – fester Bestandteil eines jeden UIViewControllers372
7.3 View-Controller-Hierarchien373
7.4 View-Controller erstellen mit dem Interface Builder375
7.4.1 View-Controller mit NIB-File376
7.5 Storyboards406
7.5.1 Über Storyboards406
7.5.2 Das Storyboard-Projekt407
7.5.3 Die Klasse UIStoryboard417
7.5.4 Segues419
7.5.5 Zugriff über den App Delegate422
7.5.6 Quo vadis – Storyboard oder NIB-File?423
7.6 Auto Layout424
7.6.1 Setzen und Konfigurieren von Constraints424
7.6.2 Constraints bearbeiten und weiter anpassen426
7.6.3 „Optimale“ Constraints automatisch setzen lassen428
7.7 UIViewController und seine Subklassen429
7.7.1 UINavigationController430
7.7.2 UITabBarController436
7.7.3 UITableViewController440
7.7.4 UICollectionViewController447
7.7.5 UISplitViewController448
8 Views erstellen und gestalten452
8.1 Über Views in iOS452
8.2 UIView – die Mutter aller Views452
8.3 Arbeiten mit UIView453
8.3.1 Programmatisches Erstellen einer UIView453
8.3.2 View-Hierarchien455
8.3.3 Weiterführendes zu UIView459
8.4 Views erstellen mit dem Interface Builder460
8.4.1 Grundlagen460
8.4.2 View-Klasse mit NIB-File erstellen461
8.4.3 Beliebiges NIB-File laden und verwenden465
8.4.4 NIB-File nachträglich erstellen466
8.4.5 Unterschiedliche NIB-Files für iPhone und iPad erstellen468
8.5 Die wichtigsten Views und ihre Funktionen470
8.5.1 Grundlagen470
8.5.2 UILabel470
8.5.3 UIButton470
8.5.4 UISwitch471
8.5.5 UISegmentedControl471
8.5.6 UITextField471
8.5.7 UIImageView472
8.5.8 UIPickerView472
8.5.9 UIDatePicker473
8.5.10 UIWebView473
8.5.11 UIMapView474
8.5.12 UIScrollView474
8.5.13 UITextView475
8.5.14 UITableView476
8.5.15 UICollectionView476
8.5.16 Wichtig und unerlässlich: die Dokumentation!476
8.5.17 Views und der Interface Builder477
8.6 Die Grundlage gut gestalteter Views477
9 Das Model und die Datenhaltung480
9.1 Die Logik Ihrer App480
9.2 Benutzereinstellungen sichern und nutzen481
9.2.1 Über UserDefaults481
9.2.2 Standardeinstellungen festlegen484
9.3 Zugriff auf das Dateisystem484
9.3.1 Das Dateisystem von iOS484
9.3.2 FileManager486
9.3.3 File-Sharing-Funktion nutzen493
9.4 Core Data494
9.4.1 Datenbankverwaltung mit Core Data494
9.4.2 Wie funktioniert Core Data?495
9.4.3 Die Klassen und Bestandteile von Core Data496
9.4.4 Aufbau eines Standard-Core Data Stacks497
9.4.5 Der Core Data-Editor500
9.4.6 Erstellen eines neuen Managed-Objects508
9.4.7 Löschen eines Managed-Objects509
9.4.8 Laden von Managed-Objects509
9.4.9 Was kommt als Nächstes?511
10 Local und Push Notifications512
10.1 Was sind Notifications?512
10.2 Registrieren von Notification Types514
10.3 Registrieren von Notification Categories und Actions518
10.3.1 Erstellen einer Action518
10.3.2 Erstellen einer Kategorie520
10.3.3 Registrieren von Kategorien522
10.3.4 Reagieren auf eine Action523
10.4 Local Notifications525
10.4.1 Konfiguration des Alerts525
10.4.2 Konfiguration des Sounds527
10.4.3 Konfiguration des Badge Values528
10.4.4 Konfiguration von Audio, Bildern und Videos528
10.4.5 Speichern zusätzlicher Informationen in einer Local Notification530
10.4.6 Festlegen des Ausführungsereignisses531
10.4.7 Erstellen von Notification Requests535
10.4.8 Registrieren von Local Notifications im System536
10.4.9 Abbrechen bereits registrierter Local Notifications537
10.4.10 Reagieren auf den Erhalt einer Notification bei aktiver App537
10.5 Push Notifications539
10.5.1 Versand von Push Notifications540
10.5.2 Erstellen einer Push Notification544
10.5.3 Quality of Service547
11 Extensions548
11.1 Verfügbare Typen von Extensions548
11.2 Erstellen von Extensions in Xcode551
11.3 Funktionsweise einer Extension554
11.4 Wichtige Klassen und Objekte555
11.5 Unterstützte Dateitypen für Share- und Action-Extensions festlegen556
11.6 Action Extension557
11.6.1 Action mit User Interface557
11.6.2 Action ohne User Interface558
11.7 Content Blocker Extension559
11.7.1 Konfiguration eines Content Blockers560
11.7.2 Aktualisieren eines Content Blockers563
11.7.3 Die Klasse ContentBlockerRequestHandler563
11.8 Custom Keyboard564
11.8.1 Erstellen eines Custom Keyboards564
11.8.2 Arbeit mit der Klasse UIInputViewController565
11.8.3 Bearbeiten und Setzen von Text567
11.8.4 Mehrsprachige Keyboards568
11.9 Document Provider568
11.9.1 Document Provider-Extension569
11.9.2 File Provider572
11.9.3 Document Provider aufrufen574
11.10 iMessage Extension576
11.10.1 Aufbau und Funktionsweise der iMessage Extension576
11.10.2 Entwicklung einer iMessage Extension580
11.11 Intents Extension591
11.11.1 Domains und Intents592
11.11.2 Bestandteile einer Intents Extension593
11.11.3 Funktionsweise einer Intents Extension594
11.11.4 Übersicht über verfügbare Intents603
11.11.5 Voraussetzungen zur Verwendung von Siri in einer Intents Extension605
11.11.6 Erweitern von Siris Vokabular608
11.11.7 Testen einer Intents Extension614
11.12 Intents UI Extension615
11.12.1 Vorbereitung der Intents UI Extension616
11.12.2 Konfiguration des View-Controllers617
11.12.3 Default-Layout bei Maps und Messaging deaktivieren619
11.13 Notification Content Extension619
11.13.1 UNNotificationContentExtension619
11.13.2 Konfiguration der Info.plist-Datei621
11.14 Notification Service Extension622
11.15 Photo Editing Extension623
11.15.1 Festlegen der unterstützten Typen zur Bearbeitung627
11.16 Share Extension628
11.17 Shared Links Extension629
11.17.1 Erstellen eines NSExtensionItem630
11.17.2 NSExtensionItem als Shared Link bereitstellen631
11.18 Sticker Pack Extension632
11.18.1 Erstellen einer Sticker Pack Extension633
11.18.2 Komplexere Sticker Pack Extensions erstellen637
11.19 Today Extension639
11.19.1 Today Extension testen641
11.20 Watch App642
11.21 App Groups642
11.21.1 Registrieren einer App Group im Apple Developer Portal643
11.21.2 Registrieren einer App Group innerhalb einer App644
11.21.3 Zugriff auf eine App Group645
12 App-Entwicklung für die Apple Watch648
12.1 Apples neues großes Ding: Die Apple Watch648
12.2 Möglichkeiten, Einschränkungen, Unterschiede649
12.3 Das WatchKit SDK651
12.3.1 WKInterfaceController652
12.3.2 WKInterfaceObject652
12.3.3 WKExtensionDelegate653
12.3.4 Weitere Klassen653
12.4 Aufbau und Funktionsweise von Apple Watch-Apps654
12.4.1 iPhone-App654
12.4.2 WatchKit Extension654
12.4.3 WatchKit App655
12.4.4 Verbindung von WatchKit Extension und WatchKit App655
12.4.5 Notification Scene655
12.4.6 Complications656
12.5 Erstellen einer WatchKit App mitsamt WatchKit Extension656
12.5.1 Dateien der WatchKit Extension659
12.5.2 Dateien der WatchKit App660
12.5.3 Ausführen und Testen der Apple Watch-App661
12.6 Lebenszyklus einer WatchKit App662
12.7 Der WKInterfaceController im Detail664
12.7.1 Initialisierung664
12.7.2 Activation Events666
12.7.3 Setzen des Titels666
12.7.4 Ein- und Ausblenden von Interface-Controllern667
12.7.5 Umsetzen eines Navigation Stacks669
12.7.6 Reaktion auf Storyboard-Events670
12.7.7 Weitere Attribute671
12.7.8 Weitere Funktionen von WKInterfaceController672
12.8 Arbeiten mit dem Interface-Storyboard einer WatchKit App672
12.8.1 Erstellen und Konfigurieren eines WKInterfaceController673
12.8.2 Hinzufügen und Konfigurieren von Interface-Elementen675
12.8.3 Positionierung und Anordnung von Interface-Elementen676
12.8.4 Ändern der Größe von Interface-Elementen676
12.8.5 Unterschiedliche Konfigurationen für verschiedene Apple Watch-Größen678
12.8.6 Gruppierung von Interface-Elementen mittels WKInterfaceGroup680
12.8.7 Verbindung von Storyboard und Code682
12.8.8 Zusammenfassen mehrerer Interface-Controller zu einem page-based Interface686
12.8.9 Erstellen und Konfigurieren von Segues686
12.9 Erstellen von Tabellen689
12.9.1 Hinzufügen einer Tabelle im Storyboard689
12.9.2 Konfiguration einer Zelle690
12.9.3 Konfiguration einer Tabelle694
12.9.4 Verwenden verschiedener Zellen in einer Tabelle696
12.9.5 Zellen hinzufügen und entfernen699
12.9.6 Direkt zu einer bestimmten Zelle scrollen700
12.9.7 Aktuelle Anzahl an Zellen auslesen700
12.9.8 Auf die Auswahl einer Zelle reagieren701
12.9.9 Segues von Zellen einer Tabelle über das Storyboard konfigurieren702
12.10 Erstellen von Menüs703
12.10.1 Erstellen eines Menüs im Storyboard704
12.10.2 Erstellen eines Menüs im Code708
12.10.3 Fazit: Menüerstellung im Storyboard oder im Code?710
12.10.4 Mischen von Menüpunkten aus Storyboard und Code711
12.11 Eingabe von Text711
12.12 Notification Scene713
12.12.1 Short-Look und Long-Look Interface714
12.12.2 Long-Look Interface im Detail715
12.12.3 Erstellen eigener Notification Scenes716
12.12.4 Testen einer Notification Scene724
12.13 Complications724
12.13.1 Was sind Complications?725
12.13.2 Das ClockKit Framework725
12.13.3 Aufbau und Bestandteile von Complications725
12.13.4 Vorbereiten des eigenen Projekts729
12.13.5 Entwicklung einer Complication731
12.13.6 Bereitstellen der Complication mittels CLKComplicationDataSource736
12.14 Kommunikation und Datenaustausch zwischen iOS und watchOS739
12.14.1 Watch Connectivity740
12.15 Was sonst noch zu sagen und zu beachten ist745
13 Tests748
13.1 Unit-Tests748
13.1.1 Aufbau und Funktionsweise von Unit-Tests753
13.1.2 Aufbau einer Test-Case-Klasse755
13.1.3 Neue Test-Case-Klasse erstellen757
13.1.4 Ausführen von Unit-Tests759
13.1.5 Was sollte ich eigentlich testen?761
13.2 Performance-Tests761
13.3 UI-Tests763
13.3.1 Klassen für UI-Tests764
13.3.2 Aufbau von UI-Test-Klassen767
13.3.3 Automatisches Erstellen von UI-Tests767
13.3.4 Einsatz von UI-Tests768
13.4 Test-Driven Development768
14 Versionierung770
14.1 Über Versionskontrolle770
14.2 Basisfunktionen und -begriffe von Git771
14.2.1 Begriffe771
14.2.2 Funktionen771
14.3 Source Control in Xcode773
14.4 Version Editor und Source Control777
15 Veröffentlichung im App Store780
15.1 Zertifikate, Provisioning Profiles und Ihre App780
15.1.1 Certificates, IDs & Profiles782
15.1.2 Erstellen von?.?.?.784
15.2 Testen auf dem eigenen Endgerät797
15.2.1 Setzen des Teams797
15.2.2 Auswahl Ihres iOS-Geräts797
15.3 iTunes Connect und Veröffentlichung im App Store799
15.3.1 Vorbereiten der App in iTunes Connect801
15.3.2 Upload der App in den App Store804
15.3.3 Wie geht es weiter?805
Index806

Weitere E-Books zum Thema: Internet - Intranet - Webdesign - Security

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

TCP/IP-Praxis

E-Book TCP/IP-Praxis
Dienste, Sicherheit, Troubleshooting Format: PDF

Netzwerke modernen Standards verlangen weniger nach Rezepten für Neu - Design als vielmehr nach Wegen, Maßnahmen zur Integration in eine bestehende Infrastruktur aufzuzeigen. Diesem Aspekt trägt TCP/…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

Weitere Zeitschriften

Menschen. Inklusiv leben

Menschen. Inklusiv leben

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Archiv und Wirtschaft

Archiv und Wirtschaft

"Archiv und Wirtschaft" ist die viermal jährlich erscheinende Verbandszeitschrift der Vereinigung der Wirtschaftsarchivarinnen und Wirtschaftsarchivare e. V. (VdW), in der seit 1967 rund 2.500 ...

Berufsstart Bewerbung

Berufsstart Bewerbung

»Berufsstart Bewerbung« erscheint jährlich zum Wintersemester im November mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...