Swift 2.2 und iOS9 - App Entwicklung für iPhone und iPad

Programmiere Apps für Geräte von Apple und stelle sie in den App Store. Lerne alles über iOS 9, Swift 2 und Xcode 7!
4.4 (355 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
7,747 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 208
  • Length 28 hours
  • Skill Level All Levels
  • Languages German
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2015 German

Course Description

Achtung: iOS9 und Swift2.2 sind nicht mehr aktuell, die Beispiele funktionieren aber mit kleineren Anpassungen (fast immer Xcode Empfehlungen verfügbar) weiterhin.

Dieser Online-Kurs ist mit 28 Stunden Inhalt einer der umfassendsten Referenzen für die iOS App Entwicklung im deutschsprachigen Markt. Mit über 7.400 Teilnehmern gehört er mit zu den erfolgreichsten Kursen auf Udemy! Kursteilnehmer bekommen auch ein Swift Cheatsheet (Swift Grundlagen) kostenlos mit dazu.

Du lernst die unterschiedlichsten Bereiche von iOS kennen und lernst, wie Du mit Swift auch umfangreichere Projekte realisierst. Dabei bleiben aber natürlich auch Einsteiger nicht auf der Strecke. Die erste App legt die Grundlagen rund um Xcode, iOS-Entwicklung und das AutoLayout. Die weiteren Apps führen Dich in immer mehr Klassen, Bibliotheken und Frameworks ein.

Zusätzlich gibt es 3 Bonuskapitel zu folgenden Themen:

  • Unit-Testing mit Xcode
  • Versionsverwaltung mit Git
  • Apps im AppStore einreichen


Details zu den einzelnen Kursthemen:

**Xcode & Autolayout Grundlagen**

In der erste App stehen Grundlagen rund um Xcode und iOS im Vordergrund. Als Einsteiger lernst Du die Arbeit mit dem Cocoa Touch Framework kennen und nutzt IBOutlets und IBActions. Auch als fortgeschrittener findest Du mit AutoLayout Informationen zu einem wichtiges Thema.

**UITableView & Segue Grundlagen**

Die RezepteApp führt Dich in in die UITableView ein. Du definierst eine eigene UITableViewDataSource sowie einen UITableViewDelegate. Die Protokolle werden implementiert und im Storyboard eine zusätzlich View angelegt. Die wird über Segue erreichbar gemacht. Außerdem definieren wir einDatamodel, über das Rezepte in der App repräsentiert werden.

**UICollectionView und adaptive Interface mit SizeClasses**

Der ImageViewer basiert auf der Klasse UICollectionView. Du lernst sie zu nutzen und über die UICollectionViewDataSource und UICollectionViewDelegateProtokolle anzubinden. Ebenso sind UIImage und die UIImageView die Basis zur Darstellung von Bildern. Gemeinsam erstellen wir dafür eine angepasste UICollectionViewCell. Ein wichtiges Thema sind die SizeClasses in iOS. Wir erstellen für den ImageViewer ein adaptives Layout, dass für iPad und iPhones gesondert optimiert wird. Dazu nutzen wir Traitcollections.

**RESTful APIs, JSON, Grand Central Dispatch und NSOperationQueue**

Apps bekommen eine ganz neue Dimension, wenn sie Daten aus dem Netz verarbeiten. Ein beliebter Weg sind RESTful APIs, die zum Beispiel Daten imJSON-Format zurückgeben. Im SynonyMaster rufen wir von openthesaurus Synonyme für eingegebene Wörter ab. Dabei lernst Du die asynchrone Datenverarbeitung kennen. Wir nutzen Grand Central Dispatch (GCD) sowie die NSOperationQueue. Mit NSJSONSerialization verarbeiten wir schließlich die Antwortdaten. Die Hintergrundaktivität zeigen wir mit einer UIActivitiyIndicatorView an.

**CoreData**

Die Einkaufsliste steht voll und ganz im Zeichen von CoreData. Du lernst am Beispiel einer App für den Einkauf Daten persistent zu speichern. Wir erstellen eine Verwaltung für Einkaufslisten, auf denen jeweils mehrere Produkte gespeichert werden können. Dazu legen wir die Entitäten an, erzeugenManagedObjects, implementieren die typischen CRUD-Aktionen (Create, Update, Remove) und verwenden Relationen. Außerdem kommt ein Bridging-Header zum Einsatz und Du legst über Closures eigene Completion-Handler fest.

**CADisplayLink, NSUserDefaults und diverse UI-Elemente**

Die TimerApp nutzt die Klasse CADisplayLink, um einen Timer zu realisieren. Er kann gestoppt, pausiert und zurückgesetzt werden. Außerdem nutzen wir verschiedene UIElemente wie die UIPickerView inkl. entsprechender UIPickerViewDataSource. Darüber hinaus kommen UIStepper und dieUIProgressView zum Einsatz. In den NSUserDefaults speichern wir die aktuelle Timereinstellung und benachrichtigen den Benutzer nach Ablauf mit einem UIAlertController.

**SpriteKit**

Der Würfelbecher ist ein Beispiel für SpriteKit. Du bekommst einen Überblick über das Framework und lernst den Zusammenhang zwischenGameScene, Nodes und Actions kennen. Außerdem verwenden wir die Schwerkraft, legen eigene Nodes bei Berührung an (Würfel in den Becher) und starten wenn der Benutzer sein Gerät schüttelt (MotionShake Events) das Würfeln. Das Ergebnis blendest Du in einer neuen GameScene ein.

**WordPress Backend, Teilen auf Facebook und Twitter**

In dieser App arbeitest Du erneut mit RESTful APIs. Allerdings erzeugst Du mit WordPress ein eigenes Backend für Deine App. Du lernst die Inhalte der App mit einfachen Mitteln selbst zu verwalten. Gerade für redaktionelle Inhalte ein Muss. Die Daten werden per JSON im Hintergrund abgerufen. Außerdem lernst Du mit den Property-Lists wie der Info (.plist) umzugehen und sie zur Konfiguration einzusetzen. Darüber hinaus erstellst Du eine eigeneEditAction für die UITableViewCell und lernst, wie Inhalte auf Twitter und Facebook geteilt werden können.

**MapKit und UISplitViewController**

Die HappyPlaces-App besteht aus zwei Teilen. Im Vordergrund steht die Nutzung von MapKit. Du zeigst Orte auf einer Karte an, ermöglichst über den UISearchController die Volltextsuche nach Orten, Ländern und Straßen und lernst Koordination per Touchgeste abzufragen. Auch die eigene Position wird bestimmt und auf der Karte dargestellt. Der zweite Teil der App ist der UISplitViewController. Er wird genutzt, um zur Verfügung stehenden Platz auf allen Geräten fast automatisch bestmöglich zu nutzen.

**UIBezierPath – eine animierte View**

Der TabataTimer ist eine umfassende App, in der Du sogar eigene View-Elemente erzeugst. Dazu nutzen wir einen UIBezierPath, mit dem wir eine eigene Fortschrittsanzeigen bauen (einen Kreis, der sich langsam füllt). Der Fortschritt wird mit einer CABasicAnimation animiert dargestellt. Ergänzend lernst Du auch mit NSTimer zu arbeiten und damit eigene Timer zu erzeugen. Auch hier realisieren wir wieder die Möglichkeit den Timer zu pausieren.

**XML-Verarbeitung und UITabBarController**

Der RSSReader ist genau das – ein Reader für RSS-Feeds. Diese werden typischerweise von Blogs und anderen redaktionellen Webseiten bereitgestellt. Die App zeigt die letzten Beiträge in einer UICollectionView an. Dazu passen wir das UICollectionViewFlowLayout an. Der NSXMLParser bildet das Herzstück der XML-Verarbeitung, welche ebenfalls im Hintergrund stattfindet. Auch Bilder werden abgerufen und in der CollectionView anzeiget. Außerdem kommt ein UITabBarController zum Einsatz, Du lernst auf Geräte-Rotation zu reagieren und eine WebView zu nutzen.

**Audiowiedergabe und Aufnahmen**

Das Soundboard nutzt vorbereitete Musikstücke und bietet Buttons, um sie abzuspielen. Insgesamt habe sind 9 Sounds von freesound (.org) zum Download bereit, die in der App genutzt werden. Ein wichtiger Part ist daher die Audiowiedergabe mit iOS. Darüber hinaus erstellst Du Audioaufnahmen mit dem Rekorder, spielst diese ab und lernst den Audiorecorder-Delegate kennen.

**Push-Notifications**

Viele Mannschaften bieten eigene Apps. Darüber stehen natürlich neueste Nachrichten bereit. Noch wichtiger sind aber Benachrichtigungen während der laufenden Spiele. Der aktuelle Spielstand wir abgerufen und der Benutzer per Push-Nachrichten bei Ereignissen sowie Anstoß und Abpfiff alarmiert. Diese Funktionalität bildet die LiveErgebnisse-App ab. Du lernst den Apple Push Notification Service (APNs) zu verstehen, verwendest eigene Push Notifications verwenden (per APN), wir erstellen die benötigten Zertifikate und versenden Push-Nachrichten. Der Spielstand wird per JSON abgerufen. Außerdem lernst Du NSNotifications kennen.

**In-App Einkäufe**

Über In-App Einkäufe werden viele Apps monetarisiert. Das Freemium Modell siehst vor eine kostenlose Basis bereitzustellen. Zusätzlich gibt es Premiuminhalte, die erst nach einer Zahlung freigeschaltet werden. In der PremiumRezepte-App lernst Du In-App Einkäufe anzubieten. Gemeinsam hinterlegen wir die kostenpflichtigen Inhalte, sperren aber den Zugang. Dieser wird schließlich per In-App Purchase (IAP) wieder freigeschaltet und der Einkauf gespeichert.

**CloudKit als Backend**

Cloudgram ist ein rudimentärer Clone von Instagram, der bewusst auf viel Funktionalität verzichtet. Im Vordergrund steht keine 1:1 Kopie, sondern das CloudKit Backend. Dieser populäre Service dient als Backend für die App. Du verwendest die Kamera und PhotoLibrary als Quelle für Bilder. Die werden hochgeladen und auf den Servern von Apple gespeichert. Darüber hinaus lernst Du Pull-To-Refresh in eine UITableView zu integrieren und Asset zu verwenden.

What are the requirements?

  • Grundkenntnisse zur Nutzung von Mac OS X
  • Grundlegende Programmierkenntnisse von Vorteil
  • Grundkenntnisse der objektorientierten Programmierung

What am I going to get from this course?

  • Label, Button, Slider, TextFields, AlertViews verstehen
  • TableView Grundlagen, Dictionaries, Arrays, Segue, Delegates, NavigationController verstehen
  • UICollectionView inkl. FlowLayout verstehen
  • AutoLayout & SizeClasses beherrschen
  • RESTful APIs abfragen, JSON verarbeiten, Grand Central Dispatch verstehen
  • CoreData, Property-Lists (plist-Dateien) und NSBundle verstehen
  • eigene Delegates und Protokolle anlegen und verwenden
  • CADisplayLink und CABasicAnimation nutzen
  • UIPickerView inkl. Delegate, NSUserDefailt und UIStepper kennen
  • MotionShake Events verarbeiten
  • erste Schritte mit SpriteKit unternehmen
  • Teilen von Inhalten auf Facebook und Twitter
  • eigene UITableViewCell-Klassen, eigene EditActions für Tabellenzeilen
  • CoreLocation und MapKit verstehen
  • UISplitView beherrschen
  • CoreGraphics kennenlernen, mit UIBezierPath zeichnen und animieren
  • Timer mit NSTimer erstellen, pausieren und stoppen
  • UITabBarController verwenden
  • NSXMLParser verwenden
  • Audioaufnahmen erstellen und Audiodateien wiedergeben
  • Push Notifications versenden
  • NSNotifications verwenden
  • In-App Einkäufe realisieren
  • mit der Kamera und PhotoLibrary arbeiten
  • Pull-To-Refresh in Tabellen implementieren
  • App-Inhalte über das Spotlight-Framework suchbar machen
  • Handoff zwischen mehreren Geräten realisieren
  • CloudKit als Backend für Apps

What is the target audience?

  • Einsteiger in die iOS-Entwicklung
  • iOS-Umsteiger auf Swift
  • Fortgeschrittene, die neue Inspiration suchen

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Herzlich Willkommen - Intro
Preview
06:49
So bekommst Du Hilfe
04:07
Section 1: Swift Crashkurs - Grundlagen
Variablen und Konstanten
11:38
Variablennamen
Preview
09:16
Typ-Annotationen
Preview
07:53
Variablen und Konstanten ausgeben
02:45
Kommentare
04:21
Das Semikolon in Swift
02:58
Datentypen
11:37
Typumwandlung
03:51
Strings
08:57
Tuples
05:36
Optionals
07:26
3 questions

Der erste Quiz zu den Grundlagen :)

Section 2: Swift Crashkurs - Basis-Operatoren
Arithmetik - Rechnen mit Swift
03:46
Remainder Operator
Preview
05:33
Inkrementieren / Dekrementieren
04:57
Werte Vergleiche
04:54
Logische Operatoren
08:38
3 questions

Beherrscht Du die Operatoren?

Section 3: Swift Crashkurs - Arrays und Dictionaries
Arrays verwenden
08:00
Dictionaries nutzen
06:08
Sets in Swift
07:08
Collection-Quiz
3 questions
Section 4: Swift Crashkurs - Kontrollstrukturen
for-in Schleifen
07:25
while-Schleifen
06:45
Funktionen (func)
08:37
Kontrollstrukturen
3 questions
Section 5: Swift Crashkurs - Objekte
Strukturen (struct)
09:25
Klassen (class)
12:27
Value- vs Reference-Types
06:36
Protokolle in Swift
06:25
Protocol Extensions verwenden
18:04
Section 6: Swift Crashkurs: Weitere Themen
Enumerations
07:37
Fehlerbehandling mit do/catch/try/throw
13:20
Section 7: #1 BMI Rechner - Xcode & AutoLayout Grundlagen
Xcode Grundlagen
19:42
11:38

Hier werden erste Grundlagen zu Autolayout vorgestellt.

Das Interface vorbereiten
16:42
Outlets und Actions erstellen
11:37
IBActions für die UISlider
08:07
Den BMI berechnen und ausgeben
09:44
Übungsaufgabe
01:28
Musterlösung
04:36
BMI Rechner
3 questions
Section 8: #2 Rezepte - UITableView Grundlagen
Ziel dieser Sektion: Interface mit Tableview vorbereiten
Preview
08:44
UITableView und die Reuse-Queue verstehen
04:50
IBOutlet für die TableView erzeugen und den Identifier setzen
04:03
UITableViewDelegate und UITableViewDataSource
15:56
Ein eigenes Model für Rezepte
08:37
Zweite View und Segue im Storyboard anlegen
05:13
Den Segue manuell auslösen
11:51
Daten im zweiten ViewController anzeigen
14:20
Einträge mit der UITableView löschen
07:48
Übungsaufgabe
01:23
Musterlösung
02:01
Section 9: #3 ImageViewer - UICollectionView und adaptive Interfaces mit SizeClasses
SizeClasses verstehen
Preview
19:24
Ziel dieser Sektion: Interface mit der CollectionView vorbereiten
15:20
UICollectionViewDataSource implementieren
09:22
Das FlowLayout modifizieren
05:40
DetailView für Bilder
15:26
Adaptives Layout mit SizeClasses umsetzen
03:55
Die Traitcollection nutzen
04:57
Übungsaufgabe
01:27
Musterlösung
01:22
Section 10: #4 SynonyMaster - mit JSON APIs arbeiten
Ziel dieser Sektion: SynonyMaster
Preview
03:47
SynonyMaster Interface vorbereiten
Preview
08:47
Suche-Delegate und TableView DataSource
13:40
JSON-Response von openthesaurus.de untersuchen
06:10
JSON synchron abrufen: der Pfad zur dunklen Seite der Macht
17:09
Die Rohdaten aus der API-Antwort verarbeiten
13:34
App Transport Security (ATS) ab iOS9
08:58
Grand Central Dispatch: JSON mit dispatch_async abrufen - Teil1
15:07
Asynchron mit NSURLSession
09:50
ActivityIndicator verwenden
12:18
Platzhalter für leere Ergebnisse
06:33
Übungsaufgabe
02:45
Musterlösung
03:49
Section 11: #5 Einkaufsliste - CoreData
Ziel dieser Sektion: Die Einkaufsliste
Preview
02:26
CoreData Entities & ManagedObjects erzeugen
07:47
CoreData Einträge abrufen: Alle Einkaufslisten anzeigen
13:59
CoreData Einträge anlegen: Neue Listen erstellen
19:36
Relationen: Einträge einer Liste anzeigen
17:45
Hinzufügen neuer Einträge
08:19
CoreData Einträge löschen
06:36
CoreData Einträge aktualisieren
10:55
Übungsaufgabe
01:51
Musterlösung
02:51
Section 12: #6 TimerApp - Timer mit CADisplayLink
Ziel dieser Sektion: eine TimerApp
Preview
02:20

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jan Brinkmann, Trainer für App- und Webentwicklung

Entwickler aus Leidenschaft! Ich bin seit über 15 Jahren Entwickler. Meine Schwerpunkte sind die Bereiche Web- und App-Technologie. Ich habe bereits mit Objective-C sehr gern gearbeitet. In Swift habe ich mich Hals über Kopf verliebt. Vor kurzem hat der Rheinwerk-Verlag das Training Programmieren mit Swift von mir veröffentlicht. Zudem verfasse ich Artikel für Fachzeitschriften wie das PHPMagazin, Entwickler Magazin und das Linux Magazin.

Ready to start learning?
Take This Course