iOS Werkzeuge des Handels

Einführung

Xcode, die de facto integrierte Entwicklungsumgebung (IDE) für die Entwicklung von iOS und OS X, ist eine fantastische Software. Es bietet alles, was ein Cocoa-Entwickler benötigt, um von einer fragilen Idee zu einer erfolgreichen Anwendung im App Store von Apple zu gelangen.

Es gibt jedoch zahlreiche Tools und Services, die im Workflow vieler Cocoa-Entwickler nicht mehr wegzudenken sind. In diesem Artikel werde ich einige der von mir verwendeten Tools sowie einige Alternativen hervorheben.

Quellcodeverwaltung

In der Cocoa-Community ist Git wohl das beliebteste Quellcode-Management-System (SCM). Obwohl die Unterstützung von Xcode für Git mit jeder Version verbessert wird, ziehen viele Cocoa-Entwickler ein dediziertes Tool der integrierten Unterstützung von Xcode vor.


SourceTree

SourceTree ist der kostenlose Git-Client von Atlassian, der für OS X und Windows verfügbar ist. Es unterstützt auch Mercurial, aber die Mehrheit der Cocoa-Entwickler entscheidet sich heutzutage für Git. SourceTree ist nicht nur kostenlos, es ist unglaublich mächtig und einfach zu bedienen - sogar für Leute, die mit Git nicht vertraut sind.

Der Git-Client von Atlassian lässt sich gut in Bitbucket sowie in GitHub und FogCreek's Kiln integrieren. SourceTree hilft Ihnen sogar bei gängigen Workflows wie Git-Flow und Hg-Flow. Selbst wenn Sie auf die Befehlszeile schwören, macht SourceTree komplexe Vorgänge wesentlich einfacher.

Turm

Tower ist seit Jahren mein bevorzugter Git-Kunde. Es ist wunderschön gestaltet, leistungsstark und robust. Es bietet die meisten Funktionen, die Sie täglich benötigen, und lässt sich nahtlos in Beanstalk, GitHub sowie einige Ihrer bevorzugten Editoren wie BBEdit und Coda integrieren.

Die Leute von Fournova, den Machern von Tower, haben mit Tower erstaunliche Arbeit geleistet, und sie faszinieren mich weiterhin mit jeder Veröffentlichung. Tower ist nicht frei, aber das sollte Sie nicht davon abhalten, die Testversion herunterzuladen und für eine Runde mitzunehmen.

Kaleidoskop

Das Kaleidoskop von Black Pixel ist Ihr bester Freund, wenn es darum geht, Unterschiede zwischen Dateien und Ordnern zu finden. Das Konzept mag einfach erscheinen, ist es aber nicht.

Sie denken vielleicht, dass eine Dateivergleichsanwendung wie Kaleidoscope nicht den Preis wert ist, aber ich fordere Sie auf, es zu versuchen, und Sie werden begeistert sein. Es funktioniert sehr, sehr gut und ich verlasse mich auf die intuitive Benutzeroberfläche und die leistungsstarke Zusammenführungsfunktion.

GitHub

Es gibt eine Reihe von Plattformen zum Hosten von Git-Repositorys, aber GitHub ist eine der beliebtesten Optionen. Es ist die Heimat zahlreicher Open Source-Projekte wie AFNetworking und CocoaPods.

Öffentliche Depots sind kostenlos und bezahlte Pläne sind recht günstig. Mit mehr als 5 Millionen Benutzern und über 11 Millionen Repositories ist GitHub zu einem wichtigen Player geworden, auf den sich viele Entwickler verlassen.

Codierung

AppCode

Xcode ist die De-facto-IDE, wenn Sie die Entwicklung von Cocoa ernst meinen. JetBrains hält sich jedoch nicht mit dieser Aussage ein und hat mit AppCode sein Geld dort platziert, wo es drauf ankommt.

AppCode ist die Antwort von JetBrains auf die Beschwerden vieler Entwickler, die mit Xcode frustriert sind. Es ist ein beeindruckendes Werkzeug, um es gelinde auszudrücken, und es kann neben Xcode verwendet werden. Obwohl Xcode noch nicht mit Xcode vergleichbar ist, ist es bei einigen der wichtigsten Funktionen von Xcode, z. B. Refactoring und Code-Vervollständigung, besser geeignet.

PaintCode

Ich kenne nur wenige Leute, die gerne Zeichnungscode schreiben, und ich bin sicher, dass der Schöpfer von PaintCode das auch nicht mag. PaintCode ist eine Vektorzeichnungsanwendung, die im laufenden Betrieb Objective-C-Code generiert.

Mit PaintCode sparen Sie nicht nur Zeit, sondern müssen sich beim Erstellen der Benutzeroberfläche Ihrer Anwendung weniger auf Bilder verlassen. Dies macht es wesentlich einfacher, die Benutzeroberfläche Ihrer Anwendung flexibel, dynamisch und leicht zu halten.

Abhängigkeitsmanagement

Kakaopods

Wenn Sie ein iOS- oder OS X-Entwickler sind und CocoaPods nicht verwenden, machen Sie es falsch. CocoaPods begann als kleines Projekt mit einem ehrgeizigen Ziel. Es hat sich zu einer De-facto-Abhängigkeitsmanagementlösung für die Entwicklung von Cocoa entwickelt. Die meisten gängigen Bibliotheken unterstützen CocoaPods, und sogar große Unternehmen wie Facebook und Square unterstützen CocoaPods.

CocoaPods arbeitet unglaublich gut, ist überraschend robust und in den AppCode von JetBrains integriert, über den ich zuvor gesprochen habe. CocoaPods wird Ihr Leben als Cocoa-Entwickler noch einfacher machen. Ernsthaft, probieren Sie es aus. Sie können mir später danken.

Verteilung

Testflug

Vor nicht allzu langer Zeit war das Verteilen von Builds an Tester ein Schmerz im Nacken - vor allem, wenn diese Tester nicht sehr technisch waren. TestFlight hat dieses Problem gelöst, indem eine Plattform für die Verteilung von Test-Builds über die Luft geschaffen wurde. Das Verteilen von Builds an Tester war noch nie einfacher.

Obwohl die Anwendungsbereitstellung für neue Cocoa-Entwickler nach wie vor eine große Hürde darstellt, ist die Ad-hoc-Verteilung viel einfacher geworden.

TestFlight bietet außerdem eine Desktop-Anwendung für OS X, mit der das Hochladen eines neuen Builds auf die Server noch einfacher wird. Es erkennt automatisch, wenn Sie ein neues Archiv erstellen, und fordert Sie auf, den Build auf die Server von TestFlight hochzuladen. Das nenne ich schmerzlose Ad-hoc-Verteilung.

HockeyApp

HockeyApp ist TestFlight sehr ähnlich. Es hilft Entwicklern, Builds an Tester zu verteilen. Wie TestFlight kann es Absturzberichte mit serverseitiger Symbolisierung erfassen und enthält Analysen, um eine genaue Vorstellung von den Geräten und Konfigurationen zu erhalten, mit denen Ihre Anwendungen getestet werden.

Wie TestFlight verfügt auch HockeyApp über eine wunderbare API. Mit der HockeyApp-API können Sie sogar Absturzberichte abrufen und Bereitstellungsprofile aktualisieren.

Xcode-Plugins

Alcatraz

Alcatraz ist ein Paketmanager für Xcode. Verabschieden Sie sich vom manuellen Kopieren von Dateien in ein obskures Verzeichnis. Bei der Installation von Plugins oder Farbschemata mit Alcatraz müssen Sie auf eine Schaltfläche klicken.

Alcatraz führt eine Liste von Plugins, Vorlagen und Farbschemata, die Sie mit einem Klick suchen und installieren können. Zum Zeitpunkt des Schreibens ist Alcatraz nicht vollständig mit Xcode 5 kompatibel, aber lassen Sie sich davon nicht abhalten.

Debugging

Verraten

Das Ziel von Reveal ist einfach, aber beeindruckend. Mit ihm können Sie die Ansichtshierarchie Ihrer Anwendung zur Laufzeit untersuchen und bearbeiten. Je mehr ich Reveal verwende, desto mehr schätze ich und erkenne seine Kraft und Fähigkeiten.

Hiermit können Sie die Ansichtshierarchie Ihrer Anwendung in zwei und drei Dimensionen untersuchen, die Eigenschaften einzelner Ansichten ändern und sogar eine Teilmenge von Ansichten vergrößern, um das Debuggen zu vereinfachen. Die Enthüllung ist nicht kostenlos, aber jeden Cent wert.

Charles

Charles ist eines dieser Werkzeuge, die viele Menschen lieben, wenn sie damit anfangen. Es ist ein plattformübergreifendes Tool zur Überwachung des Netzwerkverkehrs. Warum ist das für einen Cocoa-Entwickler nützlich? Sobald Ihre Anwendung mit einem Webservice kommunizieren muss, werden Sie sofort von einem Tool wie Charles profitieren.

Anstatt sich zu fragen, warum eine Anfrage a zurückgibt 404, Sie überprüfen einfach die Anfrage in Charles, um zu sehen, ob Sie mit der Anfrage die richtigen Header senden. Charles unterstützt SSL, Sie können den Datenverkehr filtern und sogar eine langsame Netzwerkverbindung simulieren.

SimPholders

Die meisten iOS-Entwickler testen ihre Anwendungen im iOS-Simulator - insbesondere in den frühen Entwicklungsstadien. Dies bedeutet, dass Sie manchmal die Sandbox einer Anwendung durchsuchen müssen. Sicher, Sie können den Finder öffnen und zu navigieren ~ / Library / Anwendungssupport / iPhone Simulator / 7.0.3 / Applications / 56A57F3E-CF48-47F6-BAE8-B8541BCEC13B /. Ja wirklich?

SimPholders ist eine kleine Anwendung, die sich in Ihrer Menüleiste befindet. Sie erhalten schnellen Zugriff auf die Sandboxen der Anwendungen, die Sie im iOS-Simulator installiert haben. Tun Sie sich selbst einen Gefallen und schnappen Sie sich eine Kopie der SimPholders. Es ist kostenlos.

Leistungsüberwachung

Crashlytics

TestFlight und HockeyApp können Absturzberichte für Sie sammeln, Crashlytics konzentriert sich jedoch ausschließlich auf das Sammeln und Analysieren von Abstürzen - und das zeigt. Crashlytics ist ein kostenloser Dienst und unterstützt iOS und Android.

Es sammelt und symbolisiert nicht nur Absturzberichte, sondern prüft und analysiert Abstürze. Das Ergebnis ist, dass es den Schweregrad eines Problems anzeigt und Ihnen hilft, Fehlerkorrekturen Prioritäten zu setzen. Die Crashlytics-Desktopanwendung erkennt automatisch, wenn ein neues Archiv erstellt wird, und lädt die dSYM-Datei des Archivs automatisch hoch, um eingehende Absturzberichte zu symbolisieren.

Crittercism

Crittercism geht einen Schritt weiter als Crashylitics, indem es Analysen, Absturzberichte und Anwendungsleistung kombiniert. Das Ergebnis ist ein Service, mit dem Entwickler ihre Anwendungen optimieren und kritische Engpässe erkennen und Fehlerkorrekturen priorisieren können. Es unterstützt iOS, Android, Windows Phone und Webanwendungen.

Fazit

Diese Liste ist keinesfalls endgültig. Es gibt viele weitere Tools und Dienste, die das Leben eines iOS-Entwicklers einfacher und angenehmer machen oder weniger frustrierend machen. Welche Tools und Dienste verwenden Sie für die iOS-Entwicklung??