Hilfreiche Programmierer-Tools für macOS und iOS

Beim Entwickeln von hauptsächlich iOS-Apps auf macOS haben sich für mich folgende Tools als sehr hilfreich herausgestellt:

Core Data Lab

In habe viel mit Core Data zu tun. Ich setze Core Data Lab hauptsächlich ein, um mir die Daten im Simulator genauer anzusehen. Ich kann Relationen untersuchen. Ich kann URLs, Bilder, JSON und andere Daten formatiert und direkt sichtbar machen. Im Wesentlichen hilft es mir zu klären, ob ich alle Daten in der App habe, die ich erwarte und ob es die richtigen Daten sind und ob ein Fehler in der UI ein Anzeige-Problem oder wirklich fehlende Daten sind. Das Tool kann jedoch viel mehr und gibt einem Entwickler erheblich mehr Kontrolle über Core Data in seiner App.

Core Data Pro

Vor Core Data Lab habe ich jahrelang Core Data Pro verwendet. Das Tool ist kostenlos und man muß es selbst bauen. Es ermöglicht das Ansehen der Daten und man kann auch den Relationen mit einem Klick folgen.

Control Room

Mit Control Room kann man die diversen Simulatoren, die man mit Xcode verwendet, auf sehr einfache Weise konfigurieren. Nicht nur das Aussehen, sondern auch die Geo-Location, den Netzwerk-Typ, die Sprache und Region. Das Tool verwendet intern /Applications/Xcode.app/Contents/Developer/usr/bin/simctl. Darum muß Xcode installiert sein, um dieses Tool zu verwenden.

Besonders nett finde ich die Option, damit Push Notifications an eine App im Simulator zu schicken. Das funktioniert zwar auch, indem man den entsprechenden JSON-Payload als Datei auf einen laufenden Simulator zieht, aber mit Control Room kann man sie auch ad hoc editieren.

Push Notifications im Simulator funktionieren nach meiner Erfahrung nur, wenn man Provisional Authorization nicht verwendet. Darum nutze ich #if TARGET_OS_SIMULATOR, um die UNAuthorizationOptions nur für Simulatoren passend ohne UNAuthorizationOptionProvisional zu konfigurieren.

Asset Catalog Creator Pro

Mit dem Asset Catalog Creator kann man aus jedem Bild die nötigen Dateien erstellen lassen, einen Asset Catalog, um zum Beispiel ein App-Icon zu kreieren. Das Tool kann auch die Icons in den notwendigen unterschiedlichen Größen für viele andere Zwecke wie Complications erzeugen. All die verschiedenen Graphik-Dateien per Hand in der richtigen Auflösung zu erstellen, ist ansonsten recht mühselig.

Bezier Code

Bezier Code erzeugt aus einer Zeichnung Programm-Code, der genau das nachmalt mit u. a. UIBezierPath. Der Code kann direkt nach Xcode übernommen werden und die erzeugte Vektor-Graphik auch als PNG oder JPG. Das Tool kann sogar SVGs importieren.

Attributed Strings Generator Pro

Der Attributed Strings Generator läßt Dich einen formatierten Text eingeben und beliebig stylen. Auf Knopfdruck erzeugt er dann daraus Code, der dies dann als NSAttributedString implementiert. Das ist nicht nur hilfreich, sondern auch nützlich, um dabei anhand des erzeugten Codes zu lernen.

Differences Menulet

Mit der Differences Menulet App kann man Texte/Dateien schnell und einfach in der Menüleiste auf Unterschiede prüfen.

DevCleaner für Xcode

Der DevCleaner für Xcode löscht große Mengen an Daten, die Xcode automatisch anlegt, die man aber nach bestimmter Zeit nicht mehr braucht. Beispiele dafür sind alte Versionen von iOS-Simulatoren, Derived Data und alte Dokumentation.

Fish Shell

Das Erste, was mir unmittelbar an der Fish Shell gefallen hat, ist, daß sie vorausahnt, was ich tippen möchte. Eine Shell kann tatsächlich sehr viel Freude machen. "LINUX Unplugged" diskutiert in seiner Episode 283 "The Premiere Shell" die Fish Shell mit einem ihrer wesentlichen Entwickler @ridiculous_fish. Das Thema startet ab Minute 17. Die "friendly interactive shell" ist für macOS und andere Systeme verfügbar.

asdf

Mein Auslöser, asdf zu nutzen, war, daß ich, nachdem Python nicht mehr im Lieferumfang von macOS war, einen guten Weg gesucht hatte, um verschiedene Versionen von Python zu installieren und zu verwalten. Mit asdf hat man ein zentrales Command-Line-Tool, um dies nicht nur mit Python zu ermöglichen.

screen

Das screen-Kommando ist in macOS standardmäßig im Terminal verfügbar und ich finde es super nützlich. Mein absoluter Favorit ist, sich mit einer Shell-Session auf einer entfernten Maschine erneut zu verbinden und so weiterarbeiten zu können, als wäre man nie weggewesen. Diese Seite zeigt diesen und weitere interessante Anwendungsfälle.

ShowTime

ShowTime macht User-Interaktionen in iOS Apps sichtbar. Das ist für mich hilfreich beim Vorführen von Apps und für Fehlerberichte.

Ich mußte allerdings feststellen, daß ShowTime selbst mit der Option ShowTime.enabled = EnabledNever mehr als 24% der CPU-Last in der App ausmachte. Daher habe ich es wieder herausgenommen und einen Fehlerbericht als Rückmeldung an den Entwickler gegeben.

Valid XHTML 1.0!

Besucherzähler


Latest Update: 26. December 2016 at 13:45h (german time)
Link: warcraft.realmacmark.de/dev/osx_dev_tools.php