Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
iOS
Plattform und Konzepte
Sebastian Meßingfeld
11.04.2013
1© FH AACHEN | Sebastian Meßingfeld
Inhalt
2© FH AACHEN | Sebastian Meßingfeld
•  Voraussetzungen für iOS Entwicklung
•  Programmiersprache Objective C
•  Too...
Voraussetzungen für iOS Entwicklung
•  Benötigte Hardware
•  Benötigte Software
•  Sonstige Voraussetzungen
3© FH AACHEN |...
Voraussetzungen für iOS Entwicklung
Benötigte Hardware
•  Intel-basierter Mac
•  ab Jahr 2006
•  Betriebssystem: > Snow Le...
Voraussetzungen für iOS Entwicklung
Benötigte Software
•  Entwicklungsumgebung
•  iOS SDK
gleich mehr ...
5© FH AACHEN | S...
Voraussetzungen für iOS Entwicklung
Sonstige Voraussetzungen
•  iOS Developer Program
•  kostenpflichtige Mitgliedschaft
•...
Programmiersprache Objective-C
•  Besonderheiten
•  Frameworks für iOS Entwicklung
•  Paradigmen
7© FH AACHEN | Sebastian ...
Programmiersprache Objective-C
Besonderheiten (auf iOS)
•  Erweiterung von C
•  Header / Implementations-Dateien
•  Andere...
Programmiersprache Objective-C
Frameworks
•  Cocoa Touch
•  Sammlung von Frameworks
•  Angelehnt an Cocoa für Mac
•  Anpas...
Programmiersprache Objective-C
Paradigmen in Cocoa Touch
•  MVC
•  Model: Datenhalterung (z.b. CoreData)
•  View: Anzeige ...
Programmiersprache Objective-C
Paradigmen in Cocoa Touch
•  Target-Action
•  Target: Ziel / Action: Nachricht für Ziel
•  ...
Tools
•  Xcode
•  GUI Builder
•  Simulator
•  Instruments
•  Organizer
=> alles kommt in einem Paket
12© FH AACHEN | Sebas...
Tools
Xcode
13© FH AACHEN | Sebastian Meßingfeld
Tools
Xcode
14© FH AACHEN | Sebastian Meßingfeld
•  Entwicklungsumgebung für Mac- /iOS-Apps
•  Bietet alle Funktionalitäte...
Tools
Xcode - Projektstruktur
AppDelegate(.h/.m)
•  Anwendungs-Controller
ViewController(.h/.m)
•  View-bezogener Controll...
Tools
GUI Builder
16© FH AACHEN | Sebastian Meßingfeld
Tools
GUI Builder
17© FH AACHEN | Sebastian Meßingfeld
•  in Xcode enthalten (vorher Interface Builder)
•  Erzeugt .xib / ...
Tools
Simulator
18© FH AACHEN | Sebastian Meßingfeld
Tools
Simulator
19© FH AACHEN | Sebastian Meßingfeld
Tools
Simulator
20© FH AACHEN | Sebastian Meßingfeld
Tools
Simulator
21© FH AACHEN | Sebastian Meßingfeld
•  Testen auf Mac
•  Simulation unterschiedlicher „Endgeräte“
•  iOS-...
Entwicklungsumgebung
Instruments
22© FH AACHEN | Sebastian Meßingfeld
Entwicklungsumgebung
Instruments
23© FH AACHEN | Sebastian Meßingfeld
•  automatisierte UI-Tests
•  Analyse von Systemausl...
Tools
Organizer
24© FH AACHEN | Sebastian Meßingfeld
Tools
Organizer
25© FH AACHEN | Sebastian Meßingfeld
•  in Xcode enthalten
•  Verwaltung
•  Testgeräte
•  Projekte
•  Apps
Demo
26© FH AACHEN | Sebastian Meßingfeld
Verbesserung der GUI
•  Angepasstes Tastaturlayout
•  Tastatur ausblenden
•  App/ Eingabefeld nicht verdecken
•  Länderspe...
Verbesserung der GUI
Angepasstes Tastaturlayout
28© FH AACHEN | Sebastian Meßingfeld
•  Je nach Zweck
verschiedene
Tastatu...
Verbesserung der GUI
Ausblenden der Tastatur
29© FH AACHEN | Sebastian Meßingfeld
•  Möglichkeiten zum Ausblenden der Tast...
Verbesserung der GUI
30© FH AACHEN | Sebastian Meßingfeld
•  App/ Eingabefeld nicht verdecken
•  View nach oben verschiebe...
Deployment
•  Testen auf Hardware
•  Verbreitung im App-Store
31© FH AACHEN | Sebastian Meßingfeld
Deployment
Testen auf Hardware
32© FH AACHEN | Sebastian Meßingfeld
•  Registrierung der Zielhardware
•  iOS Developer Pro...
Deployment
Verbreitung
33© FH AACHEN | Sebastian Meßingfeld
•  iOS Developer Program Zugang nötig
•  Erstellung eines Prof...
FH Aachen
Fachbereich Elektrotechnik & Informationstechnik
Sebastian Meßingfeld
34© FH AACHEN | Sebastian Meßingfeld
Nächste SlideShare
Wird geladen in …5
×

Apple iPhone iOS - Plattform und Konzepte

589 Aufrufe

Veröffentlicht am

Vorstellung der Apple iOS Plattform

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Apple iPhone iOS - Plattform und Konzepte

  1. 1. iOS Plattform und Konzepte Sebastian Meßingfeld 11.04.2013 1© FH AACHEN | Sebastian Meßingfeld
  2. 2. Inhalt 2© FH AACHEN | Sebastian Meßingfeld •  Voraussetzungen für iOS Entwicklung •  Programmiersprache Objective C •  Tools •  Beispiel: Taschenrechner •  Deployment
  3. 3. Voraussetzungen für iOS Entwicklung •  Benötigte Hardware •  Benötigte Software •  Sonstige Voraussetzungen 3© FH AACHEN | Sebastian Meßingfeld
  4. 4. Voraussetzungen für iOS Entwicklung Benötigte Hardware •  Intel-basierter Mac •  ab Jahr 2006 •  Betriebssystem: > Snow Leopard (Jahr: 2009) •  iOS Gerät(e) •  zum Testen •  unterschiedlichste Hardwareausstattungen vorhanden •  iOS 6 läuft auf ca. 4 Jahre alten iPhone (>= 3GS) 4© FH AACHEN | Sebastian Meßingfeld
  5. 5. Voraussetzungen für iOS Entwicklung Benötigte Software •  Entwicklungsumgebung •  iOS SDK gleich mehr ... 5© FH AACHEN | Sebastian Meßingfeld
  6. 6. Voraussetzungen für iOS Entwicklung Sonstige Voraussetzungen •  iOS Developer Program •  kostenpflichtige Mitgliedschaft •  zum Testen auf Hardware •  zur Veröffentlichung der Anwendung im App-Store 6© FH AACHEN | Sebastian Meßingfeld
  7. 7. Programmiersprache Objective-C •  Besonderheiten •  Frameworks für iOS Entwicklung •  Paradigmen 7© FH AACHEN | Sebastian Meßingfeld
  8. 8. Programmiersprache Objective-C Besonderheiten (auf iOS) •  Erweiterung von C •  Header / Implementations-Dateien •  Anderer Syntax im Vergleich zu C++ •  dynamische Typisierung •  Keine Methodenaufrufe => Nachrichten versenden •  []-Syntax: [Empfänger Nachricht]; •  Empfänger sorgt für Verarbeitung •  Empfänger entscheidet welche Methode aufgerufen wird •  Kein Garbage Collector => Reference Couting •  Manuell: retain / release auf Objekt aufrufen •  Seit iOS 5 automatisch möglich (ARC) 8© FH AACHEN | Sebastian Meßingfeld
  9. 9. Programmiersprache Objective-C Frameworks •  Cocoa Touch •  Sammlung von Frameworks •  Angelehnt an Cocoa für Mac •  Anpassungen iOS (Gestenerkennung, UI) •  Grundlage für iOS Programmierung •  Cocoa Touch Frameworks •  Foundation Kit (Standard-Bibliothek: Strings, ... ) •  UIKit (für Benutzeroberflächen) •  CoreData •  CoreAnimation •  MapKit •  ... 9© FH AACHEN | Sebastian Meßingfeld
  10. 10. Programmiersprache Objective-C Paradigmen in Cocoa Touch •  MVC •  Model: Datenhalterung (z.b. CoreData) •  View: Anzeige von Daten (UI mittels GUI Builder) •  Controller: Verbindet Model und View •  Key-Value-Coding / Key-Value-Observing •  „Oberserver“ Pattern •  reagieren auf Wertänderungen anderer Objekte •  keine direkte Zuweisung von Werte zu Eigenschaften •  Zuweisung über Setter-Methoden (mittels „Key“) •  zur gegenseitiger Synchronisation zwischen GUI und Model geeignet 10© FH AACHEN | Sebastian Meßingfeld
  11. 11. Programmiersprache Objective-C Paradigmen in Cocoa Touch •  Target-Action •  Target: Ziel / Action: Nachricht für Ziel •  Eine Nachricht wird an ein Ziel geschickt •  Ziel muss Nachricht nicht verarbeiten •  Einsatz: Verarbeitung von UI-Ereignisse (Button-Klick) •  Responder Chain •  Art der Event-Verarbeitung •  „Event Bubbling“ in UI Hierachie •  Weiterleitung des Events in Hierachie bis es verarbeitet wird •  Event kann auch gezielt an „First Responder“ geschickt werden 11© FH AACHEN | Sebastian Meßingfeld
  12. 12. Tools •  Xcode •  GUI Builder •  Simulator •  Instruments •  Organizer => alles kommt in einem Paket 12© FH AACHEN | Sebastian Meßingfeld
  13. 13. Tools Xcode 13© FH AACHEN | Sebastian Meßingfeld
  14. 14. Tools Xcode 14© FH AACHEN | Sebastian Meßingfeld •  Entwicklungsumgebung für Mac- /iOS-Apps •  Bietet alle Funktionalitäten moderner IDEs •  Projektverwaltung •  Unterstützung während Programmierung •  Debugger •  integrierte Versionsverwaltung (Git) •  „alles“ aus Xcode möglich •  Programmieren •  Testen (auch Hardware-Registrierung) •  App-Store Upload
  15. 15. Tools Xcode - Projektstruktur AppDelegate(.h/.m) •  Anwendungs-Controller ViewController(.h/.m) •  View-bezogener Controller *.storyboard/*.xib •  GUI-XML-Beschreibung •  Supporting Files •  Frameworks •  Products 15© FH AACHEN | Sebastian Meßingfeld
  16. 16. Tools GUI Builder 16© FH AACHEN | Sebastian Meßingfeld
  17. 17. Tools GUI Builder 17© FH AACHEN | Sebastian Meßingfeld •  in Xcode enthalten (vorher Interface Builder) •  Erzeugt .xib / .storyboard Dateien •  XML-basierte Beschreibung der Oberfläche •  Ermöglicht zusammenklicken der Oberfläche •  Standard UI-Elemente vorhanden •  Gestaltung des Anwendungsablauf •  Wechsel zwischen Ansichten •  Verknüpfung von Code und GUI Elementen •  IBOutlets: Verweise für Zugriff der UI aus Code •  IBActions: Delegate Funktionen für GUI-Events
  18. 18. Tools Simulator 18© FH AACHEN | Sebastian Meßingfeld
  19. 19. Tools Simulator 19© FH AACHEN | Sebastian Meßingfeld
  20. 20. Tools Simulator 20© FH AACHEN | Sebastian Meßingfeld
  21. 21. Tools Simulator 21© FH AACHEN | Sebastian Meßingfeld •  Testen auf Mac •  Simulation unterschiedlicher „Endgeräte“ •  iOS-Version •  Display-Größe •  Simulation von Ereignissen •  Endgeräte drehen (links/rechts) •  schütteln •  Home-Button gedrückt •  Sperrung des Gerätes •  Anruf •  Speicherwarnhinweis
  22. 22. Entwicklungsumgebung Instruments 22© FH AACHEN | Sebastian Meßingfeld
  23. 23. Entwicklungsumgebung Instruments 23© FH AACHEN | Sebastian Meßingfeld •  automatisierte UI-Tests •  Analyse von Systemauslastungen •  CPU •  Speicher •  I/O •  Grafik (frames per second) •  Fehleranalyse •  Memory Leaks
  24. 24. Tools Organizer 24© FH AACHEN | Sebastian Meßingfeld
  25. 25. Tools Organizer 25© FH AACHEN | Sebastian Meßingfeld •  in Xcode enthalten •  Verwaltung •  Testgeräte •  Projekte •  Apps
  26. 26. Demo 26© FH AACHEN | Sebastian Meßingfeld
  27. 27. Verbesserung der GUI •  Angepasstes Tastaturlayout •  Tastatur ausblenden •  App/ Eingabefeld nicht verdecken •  Länderspez. Verarbeitung von Fließkommazahlen 27© FH AACHEN | Sebastian Meßingfeld
  28. 28. Verbesserung der GUI Angepasstes Tastaturlayout 28© FH AACHEN | Sebastian Meßingfeld •  Je nach Zweck verschiedene Tastaturlayouts •  Decimal Pad besser geeignet für Eingabe der Werte
  29. 29. Verbesserung der GUI Ausblenden der Tastatur 29© FH AACHEN | Sebastian Meßingfeld •  Möglichkeiten zum Ausblenden der Tastatur •  Touch-Event auf den Hintergrund •  Return-Key
  30. 30. Verbesserung der GUI 30© FH AACHEN | Sebastian Meßingfeld •  App/ Eingabefeld nicht verdecken •  View nach oben verschieben •  View mit Touch verschieben •  Länderspezifische Verarbeitung von Fließkommazahlen •  Dezimalpunkt (USA) •  Dezimalkomma (DE) •  Vor String->Double Umwandlung ersetzen
  31. 31. Deployment •  Testen auf Hardware •  Verbreitung im App-Store 31© FH AACHEN | Sebastian Meßingfeld
  32. 32. Deployment Testen auf Hardware 32© FH AACHEN | Sebastian Meßingfeld •  Registrierung der Zielhardware •  iOS Developer Program Zugang nötig •  Erstellung eines Profiles für jedes Gerät •  Entwickler •  Profilerstellung direkt über Xcode •  Endgeräte als Ausführungsziel auswählbar •  Tester •  Austausch Gerätenummer <> Profil mit Entwickler •  Zusendung der App nötig •  Installation der App über iTunes auf Endgerät
  33. 33. Deployment Verbreitung 33© FH AACHEN | Sebastian Meßingfeld •  iOS Developer Program Zugang nötig •  Erstellung eines Profiles für Distribution •  Build-Konfiguration in Xcode •  Distribution Profil •  iOS Version •  Architektur •  Erstellte App in App-Store laden •  Webportal •  Xcode Organizer
  34. 34. FH Aachen Fachbereich Elektrotechnik & Informationstechnik Sebastian Meßingfeld 34© FH AACHEN | Sebastian Meßingfeld

×