FAQ: Programmieren für iPhone und iPod touch

Antworten auf die wichtigsten Fragen

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Andreas Beier
Inhaltsverzeichnis

Antworten auf die wichtigsten Fragen


Ich würde gerne selbst Anwendungen für das iPhone und den iPod touch entwickeln. Können Sie mir sagen, was ich für den Einstieg benötige und welche Kosten auf mich zukommen?

Was man zum Einstieg in die iPhone-Entwicklung an Software benötigt, gibt Apple kostenlos ab. Nach einer Registrierung als Entwickler darf man das iPhone SDK herunterladen. Man hat damit auch Zugriff auf die komplette Dokumentation und die allermeisten Beispielquelltexte. In das Paket hat Apple neben der integrierten Entwicklungsumgebung Xcode und dem „Interface Builder“ auch Optimierungs- und Debugging-Werkzeuge gepackt. Mit dem „Property List Editor“ etwa lassen sich Einstellungsdateien im Binär- und XML-Format komfortabel bearbeiten.

Untrennbar mit dem Mac- und iPhone-Betriebssystem und den mitgelieferten Entwicklungswerkzeugen verbunden ist die Programmiersprache „Objective-C“. iPhone-interessierte Entwickler sollten sich davon nicht abschrecken lassen. Einerseits erlaubt Xcode das Verwenden von C++ und C neben Objective-C in Projekten. Andererseits ist die Sprache leicht zu erlernen, da es sich um eine überschaubare Erweiterung von ANSI-C handelt. Sie zeichnet sich im Wesentlichen durch den neuen Datentyp „Object“ und einen neuen Operator für den Methodenaufruf aus. Wer bereits mit C und den Konzepten der objektorientierten Programmierung vertraut ist, lernt die für die iPhone-Programmierung benötigten Objective-C-Spezialitäten recht fix.

Bezüglich der benötigten Hardware gibt es einen Wermutstropfen für Nicht-Mac-Benutzer: Die iPhone-Entwicklung setzt einen Mac mit x86-Prozessor und aktuellem Mac OS X 10.5 voraus. Das muss kein Rechner der Workstation-Klasse à la Mac Pro mit acht Kernen sein. Das günstigste Modell des Mac mini mit Core 2 Duo und 2 GByte Arbeitsspeicher reicht für flüssiges Arbeiten.

www.ctmagazin.de/0917164


Ich habe zwar einen Mac, besitze jedoch weder iPhone noch iPod touch. Da ich mir nicht sicher bin, ob ich meine Ideen auch umsetzen kann, würde ich meine Programme gerne ausprobieren, ohne eines der Geräte zu kaufen. Ist in dem Entwicklungspaket auch ein Emulator enthalten?

Zum iPhone SDK gehört außer Xcode und dem Interface Builder auch der „iPhone Simulator“. Dabei handelt es sich nicht um einen Emulator, der den Arm-Prozessor und die Grafik-Hardware des iPhone in Software nachbildet, sondern um eine abgespeckte x86-Version der iPhone-Software. Wird eine Anwendung für den Simulator übersetzt, erzeugt der Compiler x86-Code, den der Mac ausführen kann. Diese Binärdatei nutzt dann die x86-Versionen der Bibliotheken, die auch auf dem iPhone zum Einsatz kommen. Dies sorgt für eine weitgehende Kompatibilität.

Der Simulator reagiert auf mit der Maus ausgeführte Gesten wie das iPhone auf die Finger, etwa zum Scrollen oder Links-rechts-Blättern. Einen zweiten „Finger“ erhält man durch Drücken der Alt-Taste. Mehr virtuelle Finger gibt es nicht. Zum Testen der neuartigen Drei-Finger-Geste zum Drehen dreidimensionaler Objekte führt kein Weg an echter Hardware vorbei. Hält man die Maustaste auf dem Symbol einer iPhone-Anwendung gedrückt, so erscheint der gewohnte Dialog zum Entfernen der Applikation. Drehen lässt sich der Simulator per Menübefehl, entsprechende Ereignisse reicht er wie das iPhone an die laufende Anwendung weiter. Es fehlen allerdings Wege, etwa um einen Anruf zu simulieren und so auszuprobieren, ob sich eine Anwendung in diesen Situationen korrekt verhält. Auf tragbaren Macs mit Beschleunigungssensor bietet der Simulator iPhone-Anwendungen zwar Messwerte über die Accelerometer-Bibliothek an, die unterscheiden sich jedoch deutlich von denen echter iPhone-Hardware.

Sehr gut hat Apple das Zeitverhalten der Bedienoberfläche und von Animationen nachgebaut. Trotz deutlich stärkerer Hardware laufen Bedienoberfläche und GUI-Animationen in Originalgeschwindigkeit ab. Die Umblättern-Animation beim View-Wechsel ersetzt der Simulator durch sanf-tes Einblenden, das Umblättern fehlt unter Mac OS X. Für Spieleentwickler führt kein Weg an iPhone oder iPod touch vorbei. OpenGL ES (Embedded Systems) beherrscht der Simulator zwar, wegen der unterschiedlichen Renderer unterscheidet sich jedoch das Aussehen – mal mehr, mal weniger. 3D-Sound fehlt mangels OpenAL-Bibliothek im Simulator komplett. Auch benötigen Berechnungen, die unsichtbar im Untergrund ablaufen, auf dem iPhone mehr Zeit. Ein Test, ob die dem Anwender aufgebürdete Wartezeit akzeptabel ist, ist deshalb unerlässlich.


Muss ich mir nun extra das iPhone kaufen und einen Mobilfunkvertrag mit der Deutschen Telekom abschließen, um die Programme ausprobieren zu können oder reicht ein iPod touch?

Tatsächlich reicht ein iPod touch in vielen Fällen aus. Mit Ausnahme von Mobilfunk, Mikrofon, Kamera und GPS wartet der Musikspieler mit der gleichen Grundausstattung wie das iPhone auf. Bei der Ortsbestimmung beispielsweise greift auf dem iPod touch die dafür zuständige Core-Location-Bibliothek nur auf WLAN-Informationen zurück, was zwar der Genauigkeit abträglich ist und nicht immer eine Position liefert, für den prinzipiellen Funktionstest einer Software aber ausreicht. Wenn hier vom iPhone die Rede ist, schließt das den iPod touch daher mit ein. Beide Geräte werden allerdings erst mit Firmware-Version 2.0 entwicklungstauglich.


Ein Freund hat mir erzählt, dass man seine eigenen Applikationen nicht einfach auf einem iPod touch oder iPhone ausprobieren kann, sondern Apple dafür erst einmal mehrere hundert Euro überweisen muss. Ist das korrekt?

Ja und nein. Tatsächlich kann man mit dem anfangs erwähnten kostenlosen Entwickler-Konto die eigene Software nicht auf einem echten iPhone beziehungsweise iPod touch ausprobieren. Wer die Software auf dem eigenen Gerät testen und in Apples Online-Shop App Store anbieten möchte, benötigt eine „Standard-Mitgliedschaft“ für 79 Euro im Jahr. Die dreimal so teure Enterprise-Variante bietet letztere Option nicht, erlaubt dafür aber das Verteilen von iPhone-Software im Unternehmen über eine Webseite. (adb)