Die Entwicklung einer iOS-App mit generativer KI

Gastbeitrag von | 14.08.2025

Werden Entwickler durch generative KI bald überflüssig? Die Meinungen dazu gehen weit auseinander. Von „90 % aller Entwickler werden durch KI ersetzt“ bis hin zu „KI senkt Produktivität von Programmierern“ [1] ist so ziemlich alles vertreten.

Ich selbst hatte zuvor bereits Large Language Models (LLMs) eingesetzt, um Geschäftsprozesse aus verschiedenen Quellen – Excel-Tabellen, Textbeschreibungen, sogar Fotos – in BPMN-Modelle zu überführen. Und das hat erstaunlich gut funktioniert [2].

Also fragte ich mich: Ist es möglich, ohne Vorkenntnisse eine iOS-App zu entwickeln und im App Store zu veröffentlichen nur mithilfe von KI?

Gesagt, getan: Ich habe mir Xcode heruntergeladen, meine Idee in einen Chat getippt und losgelegt.

Was konnte da schon schiefgehen?

Der einfache Weg zur ersten rudimentären Version der iOS-App

Ich muss vorausschicken, dass ich in grauer Vorzeit selbst Software entwickelt habe. Damals hieß Git noch CVS, ein Pentium 60 war der letzte Schrei, und programmiert wurde in C. Vor 25 Jahren bin ich in die Beratung gewechselt und habe seither keinen Code mehr geschrieben. Über die Programmiersprache im Apple-Universum wusste ich nur eines: Sie heißt Swift. Viel mehr war da nicht.

Der Einstieg verlief vielversprechend. Nachdem ich meinen Wunsch ins LLM meiner Wahl getippt hatte (Claude [3] von Anthropic – dazu später mehr), spuckte die KI 317 Zeilen Code aus. Die ließen sich zwar zunächst nicht kompilieren, aber wenn man die fehlerhaften Stellen samt Fehlermeldung zurück in den Chat kopiert, entschuldigt sich die KI (was mitunter wirklich drollig ist) und liefert anschließend eine überarbeitete Version. Kurze Zeit später hielt ich eine rudimentäre, aber lauffähige iOS-App in den Händen.

Mein Ehrgeiz war geweckt. Jetzt noch ein paar Funktionen hinzufügen und ab damit in den App Store!

Der Umfang des Quellcodes wächst, die Liste der Probleme auch

Der Umfang des Quellcodes wuchs mit jeder Anfrage rasant. Leider auch die Probleme und Fehlermeldungen. Oft kam es vor, dass neue Codeabschnitte so viele Fehler generierten, dass ich mit dem Debugging immer mehr Zeit verbrachte. Nach einiger Recherche fand ich heraus, dass Apple vor einiger Zeit seine Frameworks umgestellt (von UIKit zu SwiftUI) und mit Swift in Version 6 einige Neuerungen eingeführt hatte.

Die KI generierte in den meisten Fällen Code nach den alten Standards, es sei denn, man hatte das ausdrücklich anders gewünscht. Das ist häufig ein Problem mit generativer KI: Sie kennt alte Konzepte meistens besser, da es hierzu mehr Trainingsdaten gibt.

Ein weiteres Problem war die etwas unstrukturierte Art meiner Anforderungen, die von der KI dann häufig falsch verstanden wurden.

Ich merkte, dass ich ohne Kenntnisse der Konzepte und ohne den generierten Code zu verstehen nicht weiterkommen werde. Also arbeitete ich ein 800-Seiten schweres Werk über Swift [4] durch und fing nochmal von vorne an.

Die Wahl der passenden KI für komplexe Anforderungen

Die Wahl des LLMs ist entscheidend. In meinem Fall hat sich Claude 4 mit „erweitertem Nachdenken“ als besonders leistungsfähig erwiesen. Meistens arbeite ich mit Claude 4 Sonnet, bei sehr komplexen Anforderungen greife ich gelegentlich zu Claude 4 Opus. Vor allem die Fähigkeit, komplexe Aufgaben korrekt umzusetzen, war bei Claude 4 am überzeugendsten.

Gemini 2.5 Pro lieferte ebenfalls brauchbare Ergebnisse, ChatGPT o3 und DeepSeek konnten mich hingegen nicht wirklich überzeugen.

Allerdings gilt das ganz speziell für die Softwareentwicklung mit Swift – bei anderen Programmiersprachen oder Aufgabenbereichen sieht das möglicherweise ganz anders aus.

Eines der größten Projektrisiken sind unklare, unvollständige oder sich ständig ändernde Anforderungen. Das ist bei der Arbeit mit einer KI nicht anders und geht über reines Prompt Engineering hinaus. Ich habe mir folgende Vorgehensweise angewöhnt:

  • Komplexere Anfragen werden zuerst in einen Editor geschrieben und erst nach einer Prüfung in den Chat kopiert.
  • Ich versetze mich in die Rolle eines Fachexperten und versuche, eine Anfrage klar, strukturiert, vollständig und widerspruchsfrei zu formulieren, genauso wie ich das in einem Projekt mit „realen“ Entwicklern machen würde.

Zudem gebe ich soviel Kontext wie möglich mit. Das können Beispiele sein, Skizzen oder Snapshots aber auch Webseiten oder Manuals.

Ein Schritt nach dem anderen

Es wäre naiv zu glauben, man könne der KI in einem einzigen Prompt eine komplexe App beschreiben, kurz warten und dann ein fertiges Ergebnis erhalten. Dieses Vorgehen mag für einfache Beispiele oder ein Snake-Spiel noch funktionieren, stößt aber schnell an seine Grenzen.

Die Arbeit mit einer KI ist ein Dialog:

  • Man formuliert eine Anfrage,
  • prüft das Ergebnis,
  • verfeinert die Anforderungen und
  • gibt Feedback, wenn etwas nicht funktioniert oder nicht kompiliert werden kann.

Dabei fokussiere ich mich jeweils auf genau eine Funktion oder Komponente. Ist diese erfolgreich implementiert, getestet und versioniert, beginne ich eine neue Unterhaltung, um den nächsten Baustein zu entwickeln.

Beim Testen meiner App konnte mir die KI nur eingeschränkt weiterhelfen. Für einige Funktionen generierte sie zwar Unit-Tests, aber ob die App auf verschiedenen iOS-Versionen und unterschiedlichen Geräten tatsächlich rund läuft, muss man selbst überprüfen. Vielleicht sieht das bei anderen Apps anders aus, aber in meinem Fall waren die Tests fast so aufwendig wie das Schreiben des Quellcodes.

Weitere Erkenntnisse bei der Entwicklung einer iOS-App mit generativer KI

Man kann seine Anfragen problemlos auf Deutsch stellen, rein subjektiv scheint aber die Qualität der Antworten auf Englisch oft besser zu sein. Belegen kann ich das nicht, aber mein Eindruck aus vielen Sessions ist eindeutig: Die LLMs fühlen sich in der englischen Sprache schlicht wohler.

Was außerdem auffällt: Die Qualität der Antworten nimmt in längeren Chats häufig ab. In manchen Fällen verfiel Claude in kreative Überkomplexität und lieferte plötzlich hunderte Zeilen Code, ohne der eigentlichen Lösung näherzukommen. In solchen Situationen war es oft zielführender, den bisherigen Verlauf hinter sich zu lassen und eine neue Unterhaltung zu beginnen.

Sehr wichtig ist es, der KI immer wieder den gewünschten Kontext und die eigenen Erwartungen klar mitzuteilen. In Claude lässt sich dafür ein Projekt anlegen und mit GitHub verbinden, sodass die KI jederzeit auf den aktuellen Quellcode zugreifen kann.

Darüber hinaus lassen sich projektbezogene Anweisungen und Richtlinien definieren, sogenannte custom instructions, die für alle Chats gelten. Wenn diese gut formuliert sind, können sie die Qualität der Ergebnisse nachhaltig verbessern.

Für mein Projekt haben sich insbesondere folgende custom instructions bewährt:

You are a highly experienced and proficient AI developer specialized in building applications for macOS, iOS, and iPadOS using the latest Apple technologies. New functions should be developed with Swift 6, SwiftUI, and the most current features available in the latest version of Xcode (including beta or preview releases if applicable). Remain existing Code unchanged whenever it’s possible.

Think step by step and check your suggestions. Break down larger tasks into smaller subtasks and ask questions if necessary.

Your Objective:

Develop solutions as a senior Apple developer would: modern, efficient, scalable, and in full alignment with Apple’s platform conventions and design principles. Always consider best practices in architecture, performance, accessibility, energy efficiency, localization, modularity, and cross-platform development.

Your responsibilities and capabilities include:

  1. Design adaptive SwiftUI interfaces that follow Apple’s Human Interface Guidelines and work seamlessly across device families (iPhone, iPad, Mac).
  2. Write cross-platform Swift code that gracefully differentiates behavior or UI per platform.
  3. Write clean, well-documented, and maintainable code, preferably organized using Swift Package Manager.

Code Style Guidelines:

  • Always use modern Swift 6 syntax for new features.
  • Favor a SwiftUI-first approach.
  • Avoid UIKit or AppKit unless explicitly required.
  • Write code that is testable, modular, and ready for production.
  • Clearly explain technical decisions with expert-level reasoning, while remaining concise and practical.

 

Fazit

Ich glaube nicht, dass KI in absehbarer Zeit Entwickler ersetzen wird. Wer die grundlegenden Konzepte nicht versteht, keine Vorstellung von Softwarearchitektur hat und die Ergebnisse nicht einschätzen kann, wird spätestens bei komplexeren Anforderungen scheitern.

Aber ich bin überzeugt, dass Entwickler mit KI deutlich produktiver arbeiten können, sofern die  Voraussetzungen stimmen. Dazu gehört, das passende Modell für die jeweilige Aufgabe zu wählen und vor allem zu lernen, wie man mit einer KI effektiv interagiert.

So ist jedenfalls der Stand Mitte 2025. Angesichts der rasanten Entwicklung könnte das in ein paar Jahren – oder Monaten – schon wieder ganz anders aussehen.

 

Hinweise:

Wollen Sie wissen wie das Ergebnis des Projekts aussieht? Dann werfen Sie einen Blick auf applicay.com.

[1] Joel Becker, Nate Rush, Elizabeth Barnes, David Rein: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity
[2] SAP Community: Generate Process Models with GenAI
[3] Thomas Sillman (Hanser): Das Swift Handbuch
[4] Anthrophic: Meet Claude, your thinking partner

Hier finden Sie einen Beitrag über das Erstellen von WebApps in der Adresszeile des Browsers.

Und hier ein Pro und Kontra zur Nutzung von ChatGPT in der Softwareentwicklung.

Wollen Sie als Meinungsmacherin oder Kommunikator über das Thema diskutieren? Dann teilen Sie den Beitrag gerne auf Social Media oder in Ihrem Netzwerk.

Robin Schönwald
Robin Schönwald

Robin Schönwald war viele Jahre als Softwareentwickler, Unternehmensgründer und Berater im Bereich Application Lifecycle Management tätig. Bis 2024 leitete er als Practice Unit Head bei der SAP SE ein Team mit Schwerpunkt auf ALM-Themen.

Seit 2025 ist er als Trainer für SAP Cloud ALM, Requirements Engineering und Präsentationstechniken aktiv. Parallel beschäftigt er sich intensiv mit dem praktischen Einsatz von Künstlicher Intelligenz in der Softwareentwicklung und hat das Unternehmen Applicay Software Development gegründet.

Im t2informatik Blog veröffentlichen wir Beträge für Menschen in Organisationen. Für diese Menschen entwickeln und modernisieren wir Software. Pragmatisch. ✔️ Persönlich. ✔️ Professionell. ✔️ Ein Klick hier und Sie erfahren mehr.