• In wenigen Tagen ist es so weit: Die diesjährige WWDC steht in den Startlöchern und stellt wie jedes Jahr das zentrale Highlight für alle Apple Developer dar. Und genau wie in den vorangegangenen Jahren auch verknüpfe ich gewisse Wünsche und Hoffnungen mit den Ankündigungen, die uns nun so alsbald bevorstehen. Meine Top Drei fasse ich im Folgenden zusammen. Am kommenden Montag werden wir wissen, wie viel davon sich erfüllt haben wird. 😊 Platz 3: Eine brauchbare KI Apple Intelligence ging mit dem Versprechen an den Start, Dinge zu erledigen massiv zu erleichtern und den persönlichen Kontext mit einzubeziehen. Als Ergebnis…

  • Seit Ende März steht Apple Intelligence nun auch in deutscher Sprache zur Verfügung. Mit Spannung erwartet, groß angekündigt – und dann doch mehr oder weniger ernüchternd. Auch wenn ich bis dato noch nicht allzu viele Berührungspunkte mit Apples hauseigener Intelligenz hatte, fällt mein bisheriges Fazit leider klarer aus, als mir lieb ist: Apple Intelligence ist für mich derzeit schlicht irrelevant. Große Versprechen, kleine Wirkung Apple hat mit der Einführung von Apple Intelligence hohe Erwartungen geschürt. Ein smarter, persönlicher Assistent, tief ins System integriert, der auf moderne KI-Funktionen setzt – das klang nach einer echten Weiterentwicklung, besonders mit Blick auf Siri,…

  • Diese Woche ist etwas ganz besonders. Ein weiteres Mal entsteht aus meinem Home-Office heraus ein neuer Kurs für LinkedIn Learning. Genauer gesagt entsteht eine komplett überarbeitete Variante meines Swift-Grundkurses aus dem Jahr 2019 auf Basis von Swift 6. Der Umfang nimmt rapide zu und behandelt nun auch Themen wie Speicherverwaltung, Error Handling und Concurrency. An dieser Stelle möchte ich einen Einblick in die Vorbereitungen geben, die bereits anfallen, ehe die erste Aufnahme erfolgt. Inzwischen nehme ich mir nämlich knapp sechs Wochen Vorbereitungszeit. Die findet zwar parallel zu meinen sonstigen Projekten statt, dennoch zeigt die schiere Dauer, wie aufwendig die notwendigen…

  • SwiftData hat ein Problem. Seit iOS 18.3 sind Queries, die über eine Sortierung verfügen, potenziell problematisch. Sie können nämlich zum unmittelbaren Absturz der App führen. Dieses Verhalten existiert auch in iOS 18.3.1 und in der ersten Beta von iOS 18.4. Zu viele Ebenen Als ich schrieb, dass Sortierungen in Queries potenziell problematisch sind, hatte das einen Grund. Denn Sortierungen funktionieren weiterhin, sofern der zugehörige Key-Path sich unmittelbar auf eine Property des Models bezieht, dessen Instanzen über den Query bezogen werden sollen. Dazu ein Beispiel: Die Klasse Book verfügt über die zwei Eigenschaften title und author, wobei letztere auf eine Instanz…

  • Seit 2019 steht Apples (inzwischen nicht mehr ganz so) neues Framework SwiftUI zur Gestaltung grafischer Oberflächen uns Entwicklern zur Verfügung. 2019 war auch das Jahr, in dem ich bereits voll auf SwiftUI setzte und mich von UIKit und Storyboards verabschiedete (soweit technisch möglich; was mit SwiftUI nicht ging, wurde mit Representables geregelt). Mein Vorgehen wurde bei manchen Entwickler-Kollegen bisweilen – höflich ausgedrückt – mit Verwunderung aufgenommen. Schließlich war SwiftUI ja ein Beta-Produkt. Oder eine reine Spielerei. Ernsthafte App-Entwicklung war damit ja nicht möglich. Manche Stimmen halten auch heute noch an diesen Punkten fest. Und mir scheint, dass nicht SwiftUI das…

  • Mit großer Freude kann ich verkünden, dass in zwei Wochen die bereits vierte Auflage meines Swift-Handbuchs erscheint. Ab dem 17.01.2025 ist es verfügbar und enthält Aktualisierungen auf Basis der jüngsten Veröffentlichungen von Apple. Neue und aktualisierte Inhalte Als Grundlage des gesamten Buches dient die inzwischen aktuelle Version 6 der Programmiersprache Swift. Größere Aktualisierungen gab es auch bezüglich der neuen Xcode-Version 16. Hinzu kamen hier gänzlich neue Inhalte das Logging betreffend. Die Kapitel zur App-Entwicklung berücksichtigen ebenfalls die jüngsten Features, die Apple auf der letztjährigen WWDC angekündigt und im Herbst offiziell veröffentlicht hat. Allen voran die Inhalte zur Navigation und zum…

  • Das Jahr 2024 neigt sich dem Ende, weshalb ich die Gelegenheit nutze, einmal meine persönlichen Highlights aus dem Apple-Kosmos zusammenzustellen. Hierbei sollen auch die Top Drei meiner persönlichen Enttäuschungen nicht unerwähnt bleiben. Die Highlights Apple Vision Pro Nun, das ist keine wirkliche Überraschung, nicht wahr? Seit Juli ist Apples neueste Produktkategorie auch hierzulande erhältlich. Technisch bin ich von der Apple Vision Pro über alle Maße beeindruckt. Es ist definitiv kein Produkt für einen Massenmarkt (ganz unabhängig vom Preis), aber dennoch ein wegweisendes Stück moderner Technologie, auf deren weitere Entwicklung ich sehr gespannt bin. Das virtuelle Mac-Display ist mein Highlight der…

  • Seit der Veröffentlichung vor einem Jahr nutze ich SwiftData heute in all meinen aktiven Projekten und freue mich über die simple Model-Deklaration im Code und die tiefe Integration mit SwiftUI. Die meiste Zeit ist die Arbeit mit dem Framework einfach nur angenehm und die App-Entwicklung geht effizient vonstatten. Aber … Während meiner Arbeit mit SwiftData stieß ich bisweilen auf so manche Fehler und Probleme, deren Ursache – wenigstens für mich – nicht auf den ersten Blick ersichtlich war. So stürzten Apps nach Aktivieren des iCloud-Supports auf einmal ab. Oder View-Updates bei Property-Änderungen werden nicht getriggert. Es hat mich teils recht…

  • Ergänzend zu meinem vorangegangenen Artikel über die grundlegende Funktionsweise von Swift Testing möchte ich an dieser Stelle eines der herausragendsten Features des Frameworks erläutern: Parametrisierte Tests.Das Prinzip hinter parametrisierten Tests ist schnell erklärt: Statt einen Unit-Test einmalig auszuführen, kommt es zu mehreren Aufrufen. Konkret erfolgt die Ausführung des Tests einmal für jeden Parameter. Geschickt angewendet, vermeidet man durch parametrisierte Tests mehrere sich wiederholende Tests und erlaubt gleichzeitig eine langfristig einfache Erweiterung bestehender Tests durch Hinzufügen neuer Parameter. Welches Problem parametrisierte Tests konkret lösen können, zeigt das nachfolgende Beispiel. Das stammt aus einer konkreten Beispiel-App, die vorgefertigte Timer für verschiedene Tee-Arten…

  • Mit dem bald erscheinenden Xcode 16 hält auch ein neues Framework zum Schreiben und Ausführen von Unit-Tests Einzug: Swift Testing. Genau wie zuvor SwiftUI und SwiftData macht Swift Testing exzessiven Gebrauch von Makros und möchte durch Einfachheit und Flexibilität überzeugen.Die folgende Vorschau zu Swift Testing basiert auf Beta 6 von Xcode 16. Voraussetzungen und Einschränkungen Mit Xcode 16 ist es möglich, Unit-Tests mithilfe des neuen Swift Testing-Frameworks zu implementieren. Das grundlegende Vorgehen ist hierbei identisch zum Einsatz von XCTest: Es braucht ein separates Test-Target, in dem alle Unit-Tests umgesetzt werden. Fügt man ein solches ab Xcode 16 hinzu oder erstellt…