Zum Inhalt springen.
Zum Seitenanfang springen.
Sie befinden sich genau hier: Home > Computer > Coding > iOS App programmieren.

App für das iPhone und iPad mit Objective-C entwickeln:


2013 haben Christoph und ich den Plan gefasst eine App für das iPhone zu programmieren. Nach einiger Überlegung fiel die Entscheidung auf ein Spiel. Rückblickend war es vielleicht nicht die beste Idee gleich mit einem Spiel zu beginnen, da hierbei oft Probleme mit der Performance gelöst werden wollen. Bei unserem Spiel musste alles in Echtzeit berechnet werden und Verzögerungen, die manche Algorithmen mit sich brachten, bereiteten uns einige Probleme.

Erfahrungen mit der Programmiersprache für das iPhone, damals noch Objective C 2.0 als erste Wahl, hatten wir beide noch nicht. Nach gut einem Jahr hatten wir es aber geschafft und unsere erste App SciPaDi, wurde im AppStore von Apple veröffentlicht. Nachdem erste Reviews und Bewertungen eintrafen, machten wir und freudig auf und erweiterten SciPaDi um eine iPad-Unterstützung. Parallel haben wir diese Seite hier erstellt um einiges zu Dokumentieren und weil es vielleicht auch dem ein oder anderen hilft, der Ähnliches wie wir vorhat. Wer Apps fürs iPhone programmieren will und aus Dortmund oder der näheren Umgebung kommt, mag uns ja vielleicht mal anschreiben. Wir würden uns freuen!



Bevor ich jetzt aber zur Doku komme, möchte ich das Ende der Geschichte erzählen. Nach der ersten App haben wir noch drei weitere erstellt. Mehrere tausend Downloads, einige Reviews und Kommentare haben uns viel Spaß gebracht. Dann haben sich aber die Rahmenbedingungen immer öfter und schneller verändert. 64Bit-Quelltexte wurden Pflicht. Neue Apps und Updates vorhandener mussten entsprechend programmiert sein. Natürlich waren unsere Quelltexte nicht kompatibel und so mussten wir einiges anpassen. Das haben wir nur bei einer der vier Apps gemacht. Dann wurde die Programmiersprache Swift vorgestellt, die Objective-C ablösen soll. iPhone 6 und 6 Plus erschienen und brachten neue Auflösungen mit sich, die auch in der Programmierung berücksichtigt werden wollten. Als dann noch unsere Entwicklerlizenz auslief haben wir aufgehört und unsere Apps sind daher leider nicht mehr im AppStore zu finden.

Von daher ist dieser Fahrplan hier schon etwas veraltet. Bei dem Thema App-Entwicklung passiert das ganz schnell. Aus diesem Grund möchten wir auch keine Bücher empfehlen. Die meisten die wir gelesen haben, waren schon nicht mehr auf dem Stand der Technik, wenn wir das letzte Kapitel erreichten. Wer Literatur sucht, sollte sich vielleicht mal die Website http://www.raywenderlich.com ansehen. Die Tutorials sind gut und die PDF-Bücher werden mit Updates auf dem neuesten Stand gehalten.



Noch einige Details zu unserem ersten Spiel SciPaDi. Mit dem Leveldesign zusammen haben wir ca. 10.000 Zeilen Code in den Mac gehackt. Die Grafiken sind mehrfach überarbeitet worden. Zwischenzeitlich war SciPaDi sogar mal bunt! Die Musik und die Soundeffekte passten natürlich auch nicht von Anfang an und mussten auch mehrfach geändert werden. Bei der Programmierung hat uns am meisten die Performance zu schaffen gemacht. Grafiken wollten zur rechten Zeit vorgeladen werden, da sonst Ruckler im Spiel entstanden. Soundeffekte ließen sich zwar einfach abspielen, dies ruckelfrei hinzubekommen hat uns aber viel Zeit und Nerven gekostet. Irgendwann waren wir dann aber fertig und haben SciPaDi in den AppStore geladen. Wie wir der GameCenter Highscore entnehmen konnten, machte SciPaDi einigen auch Spaß, was uns sehr freut!



Um die App in den AppStore zu bringen, mussten wir uns bei Apple einen iOS Developer-Account anlegen. Als wir das hier geschrieben haben, kostete das Jahr $99.

SciPaDi in den Store zu bringen, war dann auch nicht so einfach. Auf der Developer Seite mussten wir einige Einstellungen vornehmen. Das reichte aber nicht aus. Auf der Seite itunesconnect ging es dann weiter. Bei den Einstellungen geholfen hat uns diese Anleitung .

Für die komplette Umsetzung haben wir die folgende Geräte benutzt: Ein wenig haben wir die Einarbeitung dokumentiert:

Allgemeine Grundlagen:
Elemente aus SciPaDi:
Sonstiges:
Links zum Thema: