iOS-Apps programmieren mit Swift (eBook)

Der leichte Einstieg in die Entwicklung für iPhone, iPad und Co. - inkl. Apple Watch und Apple TV
eBook Download: PDF | EPUB
2016 | 2. Auflage
486 Seiten
dpunkt (Verlag)
978-3-96088-075-2 (ISBN)

Lese- und Medienproben

iOS-Apps programmieren mit Swift -  Christian Bleske
Systemvoraussetzungen
Systemvoraussetzungen
29,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Sie wollen eigene Apps programmieren für iPhone, iPad und iPod touch? Vielleicht auch noch für die Apple Watch oder Apple TV? Wollen Sie gar professionelle Apple-Apps entwickeln und verkaufen? Dann bietet Ihnen Christian Bleske mit diesem Buch den leichten Einstieg. Verständlich und nachvollziehbar führt er Sie in die Programmiersprache Swift (in der Version 3) ein und macht Sie mit der App-Entwicklung und der Entwicklungsumgebung Xcode vertraut. In einem einführenden kleinen Projekt programmieren Sie Schritt für Schritt eine erste Anwendung und erfahren schnell, worauf es bei der Entwicklung von Apps ankommt. Darauf aufbauend erarbeiten Sie sich solide Grundlagen der Swift-Programmierung, inkl. Fehlersuche und Problembehandlung. Außerdem erhalten Sie einen systematischen Einstieg in die zahlreichen Facetten der App-Entwicklung für die Apple-Betriebssysteme iOS, tvOS und watchOS. Dabei lernen Sie unter anderem, wie Sie: • Daten speichern mit CoreData und SQLite • Standorte bestimmen mit GPS • Karten in der App verwenden mit MapKit • Dateien austauschen mit AirDrop • Daten über mehrere Geräte mit iCloud synchronisieren • den Fingerabdrucksensor (TouchID) nutzen • Apps erweitern mit App Extensions • Apps für die Apple Watch mit WatchKit schreiben Zahlreiche Beispiel-Apps zeigen Ihnen, wie die Umsetzung in die Praxis aussieht, und vermitteln Ihnen Inspirationen für eigene Projekte. Bringen Sie Kenntnisse in einer beliebigen Programmiersprache mit sowie einen Mac-Rechner zum Entwickeln - alles Weitere finden Sie in diesem Buch. Neue (zusätzliche) Themen in der 2. Auflage: • Apps für Apple TV (tvOS) • Parallele Programmierung mit NSOperationQueue & Co. • Apps mit Handoff-Unterstützung • Suchen & Finden (Indizierung von Apps mit Core Spotlight) • Apps mit 3D Touch & Shortcuts • Apps mit Druckfunktion • PDFs erstellen

Christian Bleske ist Autor, Trainer und Entwickler. Sein Arbeitsschwerpunkt ist die Entwicklung von Client/Server- und mobilen Anwendungen. In vielen namhaften Entwicklerzeitschriften erscheinen seine Fachaufsätze. Er lebt in Witten im Ruhrgebiet.

Christian Bleske ist Autor, Trainer und Entwickler. Sein Arbeitsschwerpunkt ist die Entwicklung von Client/Server- und mobilen Anwendungen. In vielen namhaften Entwicklerzeitschriften erscheinen seine Fachaufsätze. Er lebt in Witten im Ruhrgebiet.

Vorwort 5
iOS und Swift 5
Leser 6
Beispielcode 6
Das Blog zum Buch 7
Inhaltsübersicht 9
Inhaltsverzeichnis 11
1 Einleitung 19
1.1 iPhone, iPad & Co.
1.2 Für wen ist dieses Buch gedacht? 20
1.3 Benötigte Hard- und Software 21
1.3.1 Welcher Mac genügt? 21
1.3.2 Welche macOS-Version? 21
Benötigen Sie ein iOS-Gerät? 22
1.4 Xcode und das iOS-SDK 22
1.4.1 Download und Installation von Xcode 23
1.4.2 Xcode im Detail 24
1.4.3 Projektübersicht 27
1.4.4 Quellcodefenster 27
1.4.5 Interface Builder 29
1.4.6 Object Library & Co.
1.4.7 Inspektoren 31
1.5 Vorlagen in Xcode 33
1.5.1 Schnellstart: Hallo Playground 33
1.5.2 Die Projektvorlagen von Xcode für iOS-Apps 34
1.5.3 Schnellstart: Die Master-Detail-Application-Vorlage 34
1.5.4 Schnellstart: Die Page-Based-Application-Vorlage 37
1.5.5 Schnellstart: Die Single-View-Application-Vorlage 38
1.5.6 Schnellstart: Die Tabbed-Application-Vorlage 39
1.5.7 Bestandteile eines Projekts 40
1.6 Apps ausführen 44
1.6.1 App im Simulator 45
1.6.2 Die App auf dem iOS-Gerät 47
1.6.3 Der iOS-Simulator im Detail 47
1.7 Mehrere Xcode-Versionen parallel verwenden 49
1.7.1 Ältere Versionen von Xcode finden 49
1.7.2 Weitere Xcode-Versionen installieren 51
1.8 Das Apple Developer Program – Anlaufstelle für Entwickler 51
1.8.1 Von Zertifikaten, Profilen und Identitäten 53
1.8.2 App auf ein angeschlossenes iOS-Gerät übertragen 56
2 Schnellstart mit Swift 59
2.1 Das Projekt anlegen 60
2.2 Die Oberfläche mit dem Interface Builder bauen 64
2.3 Controls und Ereignisse 68
2.4 Mit Swift zum Ergebnis 71
3 Einstieg in Swift 75
3.1 Variablen, Konstanten und Zuweisungen 75
3.1.1 Zuweisungsoperator 75
3.1.2 Konstanten 76
3.2 Datentypen 77
3.2.1 Strings 77
Umwandlung von Groß- in Kleinbuchstaben 78
Umwandlung von Zeichen in eine Zahl 78
Ausgabe von String-Inhalten mit String-Interpolation 79
Kommentare 80
3.2.2 Ganze Zahlen und Fließkommazahlen 80
Zeichenketten 80
Fließkommazahlen (Float und Double) 81
Rechnen mit ganzen Zahlen und Fließkommazahlen 81
3.2.3 Wahrheitswerte 82
3.2.4 Aufzählungen (Enumerationen) 83
Assoziierte Werte in Enumerationen 83
3.2.5 Felder (Arrays) 85
3.2.6 Dictionarys 87
3.2.7 NS-Datentypen 89
3.2.8 NSNumber 90
3.2.9 NSString 91
3.2.10 NSDate 91
3.2.11 NSRange 92
3.2.12 TimeInterval 92
3.2.13 NSArray/NSMutableArray 93
3.2.14 NSDictionary und NSMutableDictionary 93
3.3 Operatoren 93
3.3.1 Boolesche Operatoren 93
3.4 Arithmetische Operatoren 94
3.5 Kontrollstrukturen 95
3.5.1 Die Fallunterscheidung (if) 95
3.5.2 Mehrfachauswahl 97
3.6 Schleifen 98
3.6.1 Kopfgesteuerte Schleifen (while-Schleife) 99
3.6.2 Fußgesteuerte Schleifen (repeat...while-Schleife) 99
3.6.3 Zählschleifen (for-Schleife) 99
3.7 Funktionen 102
3.7.1 Funktionen – Parameter übergeben 103
3.7.2 Funktionen – Werte zurückgeben 104
3.7.3 Funktionen – Mehrere Werte zurückgeben (Tupel) 105
3.7.4 Funktionen – Externe Parameternamen 105
3.7.5 Funktionen – Parameter vorbelegen 106
3.7.6 Funktionen – Weitere Parametertypen 107
Variadic Parameter 107
Konstante und variable Parameter 108
In-Out-Parameter 108
3.7.7 Verschachtelte Funktionen 109
3.7.8 Closures 109
3.7.9 Optionals 111
Implicitly Unwrapped Optionals 112
3.8 Strukturen Teil 1 (Structs) 113
4 Objektorientierte Programmierung mit Swift 117
4.1 Grundlagen der OOP 117
4.1.1 Strukturen aus objektorientierter Sicht (Strukturen Teil 2) 117
4.1.2 Was sind Objekte? 118
4.1.3 Was sind Klassen? 119
Klasse vs. Struktur 120
Werttypen (Value Types) 121
Referenztypen (Reference Types) 122
Vergleichen von Objekten mit Operatoren 123
Wann sollte eine Struktur und wann sollte eine Klasse verwendet werden? 123
4.1.4 Public, Private und wer noch? 123
Sonderfall Tupel 128
4.2 Eigenschaften (Properties) 128
Eigenschaften überwachen (Property Observers) 131
4.3 Methoden 132
4.3.1 Instanzmethoden (Instance Methods) 132
4.3.2 Klassenmethoden (Type Methods) 135
4.3.3 Der Initialisierer (Konstruktor) 136
Parameter und Initialisierer 137
Die Eigenschaft »self« 138
4.3.4 Der Deinitialisierer (Dekonstruktor) 139
4.4 Vererbung 139
4.4.1 Erben (Ableitung) von Klassen 140
4.4.2 Zugriff auf Elemente der vererbenden Klasse 141
4.4.3 Initializer delegation 141
4.4.4 Überschreiben von Methoden 143
4.4.5 Überschreiben von Eigenschaften 144
4.4.6 Das Überschreiben von Elementen verhindern 145
4.5 Schnittstellen 146
4.5.1 Was sind Protokolle? 146
4.5.2 Ableitung von Protokollen 148
Swift 1.2 149
4.6 Erweiterung von Typen (Klassen, Strukturen und Enumerationen) 150
4.6.1 Subscripts 150
4.6.2 Verschachtelte Typen (Nested Types) 151
4.6.3 Erweiterungen (Extensions) 152
Swift 2 153
4.6.4 Optional Chaining 155
Aufruf von Methoden durch Optional Chaining 156
4.7 Typumwandlung (is & as) und (Any &
Typüberprüfung mit dem is-Operator 157
Downcasting 158
Verwaltung und Umwandlung mit Any und AnyObject 160
Any 161
4.8 Generics 162
4.9 Speicherverwaltung (Automatic Reference Counting) 163
Weak Reference 167
Unowned Reference 168
5 Grundlagen der App-Entwicklung 171
5.1 Storyboard und Interface Builder 171
5.1.1 App im Storyboard 171
Storyboard und Interface Builder 172
Navigation mit Controller 174
ViewController dem Storyboard hinzufügen 175
5.2 Bausteine einer iOS-App 177
5.2.1 View, ViewController und wer noch? 179
UIScreen 179
UIWindow 179
UIView 179
UIViewController 179
UINavigationController 180
UIPageViewController 181
UITabBarController 181
UITableViewController 181
Segues 182
View mit ViewController 182
5.2.2 View-Ereignisse und View-Lebenszyklus 187
5.2.3 Outlets und Actions 189
Actions 190
5.2.4 MVC – Model View Controller 191
5.2.5 Controls 193
Switch 193
Slider 195
Activity Indicator 197
Segmented Control 198
Stepper 200
PickerView 201
5.2.6 UIAlertController 204
Standard-Dialog 204
Dialog mit mehreren Schaltflächen 206
Textfelder im Dialog 207
5.3 Delegate 210
Wie funktioniert ein Delegate? 211
ApplicationDelegate-Protokoll 212
5.4 Gestenverarbeitung (Touch Events) 214
Skalierung mit Pinch-Geste 219
5.5 AutoLayout 222
AutoLayout programmiert 229
5.6 Workshop – Passwortverwaltung – Teil 1 231
5.6.1 Planung der App 232
5.6.2 Umsetzung des Projekts – Teil 1 235
Anpassung des Codes (Punkt 1) 237
Erweiterung des Storyboards (Punkt 2) 239
Klasse implementieren (Punkt 3) 241
6 Fehlersuche und Problembehandlung 245
6.1 Breakpoints im Quellcode setzen 245
6.2 Inspizieren von Variablen 247
print bzw. Print vs NSLog 249
6.3 View Debugging 249
6.4 Fehlerbehandlung mit »try catch«, (NS)Error & Co.
Das Protokoll »Error« 255
Die defer-Anweisung 257
6.5 Fehlerbehandlung bei knappem Speicher 258
Knappen Speicher simulieren 259
6.6 Vorausetzungen prüfen, Fehler vermeiden 260
Überwachte Ausführung mit guard 260
7 Tabellen und Controller 263
7.1 Schnellstart: App mit Master-Detail-Application-Vorlage 263
7.1.1 Datenquelle für Master-Detail hinzufügen 265
7.1.2 Das Projekt testen 269
7.2 UITableView und Controller 270
7.3 UITableViewCell 272
7.4 CustomCell 274
7.5 NavigationBar anpassen 279
7.6 Workshop – Passwortverwaltung – Teil 2 281
Container für Testdaten 282
Anzeige der Passwörter im TableView 283
GeneratorViewController gestalten 284
Ein Segue für das Passwort 286
Detailansicht 287
Zwischenfazit 288
8 Core Data 291
8.1 Was ist Core Data? 291
8.2 Ein neues Projekt mit Core Data 291
8.3 Ein Modell für die Speicherung 293
8.4 Core-Data-Klassen verwenden 297
8.5 Workshop – Passwortverwaltung – Teil 3 299
Core Data im Projekt implementieren 301
9 Internet und Netzwerke 309
9.1 Das UIWebView 309
9.2 Wetter mit JSON 315
Eine JSON-Schnittstelle 317
Das OpenWeatherMap-API 318
JSON-Antwort interpretieren 319
9.2.1 Mit der App zum (aktuellen) Wetter 320
URL-Abfrage erstellen 322
JSON-Antwort im Code auswerten 323
9.3 Dateiaustausch mit AirDrop 325
Vorbereitungen für AirDrop 326
View und Datentypen 327
AirDrop implementieren 327
… und ab durch die Luft 328
9.4 Daten in der iCloud 329
Konfiguration der Cloud-App für die Cloud 330
Code für die Cloud 332
10 Sensoren 335
10.1 Kamera 335
10.2 Mikrofon 338
10.3 Beschleunigungssensor 343
Umsetzung im Code 344
Animation, Gravitation und Verhalten kontrollieren 346
Der Beschleunigungssensor spielt mit ... 346
10.4 Positionsdienste 347
Konfiguration des Projekts 348
Positionsermittlung durchführen 352
10.5 Workshop – Passwortverwaltung – Teil 4 354
11 iOS Maps 357
11.1 Das MapKit-Framework 357
11.2 Das MapView-Control 359
11.3 Markierung mit Annotation 360
11.4 Markierung auf der Karte anzeigen 361
11.5 Icon ändern 362
12 Lokalisierung 365
12.1 Statische Texte in der GUI 365
12.2 Eine Sprache hinzufügen 367
12.3 Lokalisierung von Bildern 370
12.4 Dynamische Texte 372
12.5 Lokalisierung des App-Namens 375
12.6 Workshop – Passwortverwaltung – Teil 5 375
Dynamische Texte hinzufügen 377
13 Universal Apps 381
13.1 Universal Apps 381
13.2 Ein Projekt als Universal App anlegen 381
13.3 Bilder in der App 383
13.4 Portrait oder Landscape? 386
13.5 iPad oder iPhone? 387
13.6 Icons und Launch Images 388
13.7 Workshop – Passwortverwaltung – Teil 6 389
14 App Extensions 391
14.1 Widgets und iOS 391
14.2 Ein Projekt für Widgets 392
Apps mit Extension 393
14.3 Today Extension anlegen 393
14.4 Code und GUI des Widgets entwerfen 395
14.5 Test des Widgets 396
15 WatchKit 399
15.1 Apple und die Watch 399
15.2 Zweiteilung 400
15.3 Das Projekt im Projekt 401
15.4 Das WatchKit-Projekt 403
15.5 GUI für die Watch-App 404
15.6 Der Code im anderen Abschnitt 406
15.7 Wie kommt die App auf die Watch? 408
16 Apps für Apple TV 4 411
16.1 Apps im Fernsehen 411
16.2 Projektvorlagen für Apple-TV-Apps 412
16.3 Auflösungen berücksichtigen 413
16.4 Fokus und Steuerung der App 413
16.5 Der Simulator und Apple Remote 414
16.6 Würfel im Fernsehen 415
16.7 Die Programmlogik der Würfel-App 416
16.8 Icons hinzufügen 418
16.9 Installation der App 420
17 NSOperation und Dispatch Queue 421
17.1 Operationen und Queues 421
17.2 Grand Central Dispatch und Queues im Überblick 421
17.2.1 Serielle Queues 422
17.2.2 Konkurrierende Queues 422
17.3 Queues in der praktischen Anwendung 423
17.4 Serielle Abarbeitung 425
17.5 NSOperation Queues 426
18 Handoff-API 429
18.1 Einrichtung von Handoff 429
18.2 Die Klasse NSUserActivity 430
18.3 Das Projekt einrichten 431
18.4 Activity anlegen 432
18.5 Update und Ereignisse 433
19 Das Core Spotlight Framework 435
19.1 Indizierung mit Spotlight 435
19.2 Neue Struktur für ein Zitat 437
19.3 Den Text analysieren 437
19.4 NSUserActivity verwenden 439
19.5 Activity-Instanz prüfen 441
19.6 Ein Activity wiederherstellen 442
20 3D Touch verwenden 445
20.1 Was ist 3D Touch? 445
20.2 3D Touch verwenden 446
20.3 Waage mit 3D Touch 447
20.4 Shortcuts definieren 449
20.5 Shortcut im Code 451
21 Drucken unter iOS 455
21.1 Was ist Airprint? 455
21.2 Der Printer Simulator 456
21.3 Drucken aus einem TextView-Control 457
21.4 Generierung eines PDF-Dokuments 459
21.4.1 Drucklayout mit HTML 460
21.4.2 PDF im Code erzeugen 461
22 Apps verteilen 463
22.1 Der Distributionsprozess 463
22.2 iTunes Connect verwenden 465
22.2.1 Meine Apps (App registrieren) 466
Verkäufe und Trends 470
Zahlungen und Finanzberichte 470
Benutzer und Rollen 471
Vereinbarungen, Steuern und Bankverbindungen 471
Ressourcen und Hilfe 471
22.3 Apps verteilen 471
22.3.1 App Store 471
22.3.2 Ad Hoc Deployment 474
22.3.3 Enterprise Deployment 475
22.3.4 Bereitstellung einer App zur Verteilung 475
Nachwort 477
Index 479
www.dpunkt.de 0

1 Einleitung


Viele Normalbenutzer waren wohl relativ enttäuscht, als auf der World Wide Developers Conference (WWDC) 2014 keine Uhr, kein Telefon bzw. kein neuer Rechner vorgestellt wurde – die Entwicklergemeinde freute sich dafür umso mehr. Denn im Juni 2014 wurde auf der WWDC eine neue Programmiersprache nebst passender Integration in Apples Entwicklungswerkzeug Xcode präsentiert. Swift heißt die neue Sprache, was man unter anderem als »Mauersegler« übersetzen kann, und der gilt als ganz schneller Vogel. Aber warum eine neue Programmiersprache? Mit Objective-C hatte man doch eigentlich die Mutter aller Sprachen im Programm – oder etwa doch nicht?

Um diese Frage zu beantworten, sehen wir uns folgenden Objective-C-Code-Auszug an: Hier wird einer String-Variablen eine URL zugewiesen und anschließend in einem Browser-Control aufgerufen:

NSString *urlString=@"http://";
urlString = [urlString stringByAppendingString:Id];
NSURL *url = [NSURL URLWithString:[NSString
   stringWithFormat:@"%@",urlString]];
NSURLRequest *requestObj = [NSURLRequest
   requestWithURL:url];
[uiWebView loadRequest:requestObj];

Selbst wenn man ein Fan von Objective-C ist, wird man zugeben müssen, dass die Syntax dieser Sprache im Vergleich zu anderen (Assembler einmal ausgenommen) gewöhnungsbedürftig ist. Gerade Ein- und Umsteigern bereitet die komplexe Syntax von Objective-C oft Probleme. Apple bzw. die Geräte des Unternehmens zeichnen sich dadurch aus, dass sie besonders einfach zu bedienen sind. Von der Haus- und Hofsprache Objective-C kann man das leider nicht sagen.

Es musste also etwas Neues her, um sicherzustellen, dass der Strom von neuen Apps für die iOS-Plattform und die damit verbundenen Geräte auch zukünftig nicht abreißt. So kam man bei Apple vor einigen Jahren auf die Idee, Objective-C noch eine zweite Sprache zur Seite zu stellen – eine moderne Sprache mit einem zeitgemäßen Funktionsumfang (z.B. Generics), die leicht zu erlernen sein soll.

Man kann durchaus festhalten, dass es Apple mit Swift gelungen ist, genau die »Problemzonen« von Objective-C anzugehen und trotzdem kompatibel zum Rest von Apples SDK zu bleiben. Denn neben den bereits genannten Vorzügen von Swift gibt es auch eine Brücke in die »alte« (Objective-C-)Welt. Natürlich ist auch das passende API (Cocoa Touch) in Swift-Apps nutzbar. So muss nicht alles neu entwickelt werden.

1.1 iPhone, iPad & Co.


Eine Programmiersprache allein – und sei sie noch so gut – bringt nichts, wenn die zugrunde liegende Plattform bzw. das Betriebssystem keinen Erfolg hat. Das kann man von iOS nicht sagen, denn es ist auf vielen Geräten im Einsatz.

Daher wird in diesem Buch bewusst nicht allein das iPhone angesprochen, denn iOS treibt darüber hinaus natürlich auch das iPad und den iPod Touch, Apple TV und die Apple Watch an. Seinen Ursprung hat iOS in Apples MacBetriebssystem macOS (OS X). Im Prinzip handelt es sich um eine abgespeckte Variante dieses Betriebssystems, die für die Bedienung mit der Hand und für die Ausführung der Software auf schwächerer Hardware optimiert wurde.

An dieser Stelle sollen Sie aber nicht mit der Historie rund um Apples Hardund Software gequält werden. Die ganze Story ist sicherlich bekannt.

Hinweis

Seit der WWDC 2016 heißt das Betriebssystem für Macs (wieder) macOS 10.12 anstatt OS X.

1.2 Für wen ist dieses Buch gedacht?


Dieses Buch ist für Einsteiger mit Programmierkenntnissen gedacht. Fachbegriffe aus dem Bereich der Softwareentwicklung, wie z.B. IDE (Entwicklungsumgebung), Variable oder Schleife, sollten Sie also kennen. Ideal wäre es, wenn Sie bereits mit einer anderen Programmiersprache (z.B. C, C# oder Java) gearbeitet haben. Es wird also vorausgesetzt, dass Sie sich mit dem Thema Programmierung bereits beschäftigt haben. Leser ohne diese Kenntnisse werden es schwer haben, mit dem Buch zurechtzukommen.

Außerdem wird davon ausgegangen, dass Sie die Bedienung von macOS beherrschen, also beispielsweise wissen, wie man Dateien kopiert oder Anwendungen aus dem App Store installiert.

Die Entwicklungsumgebung Xcode müssen Sie nicht kennen.

1.3 Benötigte Hard- und Software


Eine wichtige Frage ist, welche Hard- und Software man benötigt, um Apps für iOS zu entwickeln – vor allem, wenn man bisher auf einer anderen Plattform, z.B. Windows, gearbeitet hat.

1.3.1 Welcher Mac genügt?

Haben Sie bereits einen Mac oder suchen Sie noch ein passendes Gerät? Generell gilt: Jeder Mac, auf dem Yosemite oder El Capitan läuft, kann zur Entwicklung von iOS-Apps verwendet werden. Die neueste Version von macOS 10.12 (Sierra) kann auf den folgenden Macs installiert werden:

  • iMac (Late 2009 oder neuer)

  • MacBook (2009 oder neuer)

  • MacBook Air (Late 2010 oder neuer)

  • MacBook Pro (Mid 2010 oder neuer)

  • Mac mini (Mid 2010 oder neuer)

  • Mac Pro (Mid 2010 oder neuer)

Ferner werden mindestens 2 Gigabyte Arbeitsspeicher (besser 4) und 8 Gigabyte Festplattenspeicher benötigt. Sehen Sie diese Werte als Minimalwerte an – mehr ist immer besser!

Ein Tipp, wenn Sie noch keinen Mac haben und einen kaufen möchten: Schauen Sie sich einmal einen Mini an. Warum? Wenn Sie bereits einen anderen Computer (PC) zu Hause haben, dann können Sie vorhandene Hardware (z.B. Monitor, USB-Tastatur, USB-Maus) weiterverwenden. Sofern Sie nicht auf gebrauchte Hardware setzen, ist das die günstigste Variante (ab ca. 600 Euro), um in die Mac-Welt einzusteigen.

1.3.2 Welche macOS-Version?

Yosemite, El Capitan oder Sierra – diese Versionen können Sie zur Entwicklung von Apps mit Swift verwenden. Ältere Versionen von macOS, z.B. Mountain Lion, können nicht zur Entwicklung verwendet werden. Welche Version ist besser? Sierra unterstützt zurzeit die größte Anzahl an APIs. Das liegt daran, dass Sierra die aktuellste macOS-Version ist. Man sollte aber generell darauf achten, dass es mit der neusten Version von macOS nicht zu Stabilitätsproblemen kommt. Konservative Zeitgenossen (der Autor zählt auch dazu) warten deshalb immer auch darauf, dass die aktuellste macOS-Version mindestens ein oder zwei Updates erhalten hat, bevor ein Umstieg erfolgt.

Hinweis

Wenn Sie aus der Windows-Welt kommen, dann sind Sie es (bisher) in der Regel nicht gewohnt, ständig (also mindestens einmal im Jahr) auf eine neue Betriebssystem-Version zu aktualisieren. Unter macOS ist es mittlerweile quasi Standard, dass einmal pro Jahr ein Major-Update, also eine neue macOS-Version, erscheint. Normalerweise funktioniert das Update auf die neueste Version auch problemlos. Trotzdem sollte man warten, bis mindestens die Version XX.1 oder besser XX.2 erreicht ist.

Benötigen Sie ein iOS-Gerät?

Nicht zwingend, aber es erleichtert die Entwicklung von Apps doch sehr. Außerdem kann man nur auf einem »echten« Gerät bestimmte Funktionen (z.B. den Beschleunigungssensor) auch aus dem Code heraus ansprechen. Ob Sie sich für ein iPhone, ein iPad oder gar einen iPod touch entscheiden, das bleibt Ihrem Geschmack überlassen. Möchten Sie in Ihrer App auch auf Telefoniedienste zugreifen, so muss das Testgerät natürlich ein iPhone sein. Achten Sie auch auf darauf, wie lange es noch Updates für das jeweilige Gerät gibt. Nichts ist ärgerlicher, als viel Geld für ein Gerät auszugeben, um dann festzustellen, dass das Gerät vom Hersteller nicht mehr mit neuen Versionen des Betriebssystems versorgt wird.

1.4 Xcode und das iOS-SDK


Apple hat eine Entwicklungsumgebung, die für die Entwicklung von Anwendungen sowohl für iOS als auch für macOS verwendet wird. Diese IDE trägt den Namen Xcode. Es gibt sie seit vielen Jahren (genauer gesagt seit 2003), und mittlerweile ist Xcode relativ umfangreich. Xcode unterstützt nicht nur eine Programmiersprache, denn neben Swift können Sie damit auch Programme in Objective-C, C++ und C schreiben. Im Gegensatz zu den bekannten Java-IDEs (Eclipse/Net Beans) gibt es Xcode nur für den Mac bzw. macOS.

Xcode besteht aus mehreren Komponenten. Zum einen ist da natürlich der Quellcodeeditor, in dem Sie den Code schreiben. Wenn eine grafische Oberfläche für eine Anwendung erstellt werden muss, dann kann man dafür den grafischen Designer von Xcode verwenden. Er trägt den Namen Interface Builder. Mit dem Interface Builder lassen sich Oberflächen von Anwendungen via Drag & Drop zusammenstellen. Das bedeutet: Ähnlich wie in Microsofts Visual Studio gibt es einen Bereich mit vorgefertigten Controls, die auf einem Formular (View) abgelegt werden können.

1.4.1 Download und Installation von Xcode

Neben Xcode benötigen Sie für die Entwicklung von Apps für iOS noch das entsprechende SDK. Es handelt sich dabei aber nicht um einen separaten Download neben Xcode, sondern Sie laden einfach die neueste Xcode-Version aus dem App Store herunter. Diese Version enthält dann alle benötigten Komponenten.

Es gibt mehrere Wege, um...

Erscheint lt. Verlag 12.12.2016
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Android • Apple • Apps • Einstieg • Ios • iPad • iPhone • iPod • Mobile • Objective-C • Programmierung • SWIFT
ISBN-10 3-96088-075-8 / 3960880758
ISBN-13 978-3-96088-075-2 / 9783960880752
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 20,1 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Wasserzeichen)
Größe: 31,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
34,93
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
31,43

von Carsten Bönnen; Volker Drees; André Fischer …

eBook Download (2024)
SAP Press (Verlag)
62,93