Ich liebe Open Source, und ich liebe noch mehr die Entwickler, die ihre kostbare Freizeit damit verbringen, Wunder zu vollbringen. Danken wir ihnen dafür, dass sie die Früchte ihrer harten Arbeit frei mit allen teilen. Open-Source-Autoren und -Mitwirkende, Sie sind wirklich großartig, und vielen Dank für all Ihre Beiträge.
Da ich zu der Sorte Mensch gehöre, die nicht ruhen kann, ohne alles zu sammeln, habe ich hier nach meinem persönlichen Geschmack einige iOS-Open-Source-Bibliotheken ausgewählt. Die Reihenfolge dieser Projekte ist völlig willkürlich, und jedes einzelne ist absolut großartig. Die überwiegende Mehrheit unterstützt CocoaPods, sodass das Hinzufügen zu Ihrem Xcode-Projekt ein Kinderspiel ist.
Am Ende dieses Artikels finden Sie eine „Long Read, mit Vorsicht betreten“-Version – eine einfache Liste, die nur Titel und Projektlinks enthält. Wenn Sie diesen Artikel nützlich finden, teilen Sie ihn bitte mit anderen iOS-Entwicklern. Selbst der beste Wein braucht ein Schild.
DZNEmptyDataSet ist ein ziemlich standardmäßiger iOS-Ansatz für den Umgang mit leeren Table Views und Collection Views. Standardmäßig ist der Bildschirm leer, wenn Ihre Table View leer ist, was keine gute Benutzererfahrung ergibt.

Mit dieser Bibliothek müssen Sie nur ein paar Protokolle erfüllen, und iOS kümmert sich automatisch ordnungsgemäß um Collection Views und zeigt Benutzermeldungen auf passende und ansprechende Weise an. Jedes iOS-Projekt kann das automatisch handhaben, ohne dass für jedes einzelne Aufwand betrieben werden muss.
Braucht Ihre App eine einfache, schöne und zuverlässige Kalenderkomponente? Jetzt gibt es eine – PDTSimpleCalendar ist wohl die beste Kalenderkomponente für iOS. Sie können sie in jeder Hinsicht anpassen, sowohl im Verhalten als auch im Aussehen.

Man sagt, Core Data sei einfach und benutzerfreundlich. Dann sagt man, es sei großartig und funktioniere wunderbar. Hä? Wirklich, Apple? Die riesige Menge an Boilerplate-Code, die jedem Projekt hinzugefügt wird, erfüllt kaum den Anspruch von Einfachheit und Benutzerfreundlichkeit. Ganz zu schweigen vom Hinzufügen, Entfernen und Aktualisieren einer ganzen Reihe von Entitäten, dem Speichern von Kontexten, dem Erstellen unterschiedlicher Core-Data-Stacks für verschiedene Umgebungen und so weiter. Natürlich mag ich Core Data wirklich, aber Apple könnte es definitiv viel besser vereinfachen – mit dem MagicalRecord-Ansatz.

MagicalRecord ist wie ein Wrapper um Core Data, der alle irrelevanten Teile verbirgt. Wenn Sie jemals das Active-Record-Muster verwendet haben (wie in Ruby on Rails), wissen Sie, was ich meine. Sehr empfehlenswert – wenn Sie Core Data in Ihren Apps verwenden, sollten Sie es wirklich ausprobieren.
4. Chameleon
Wenn Sie bis hierher gelesen haben, vermute ich, dass Sie eher ein Code-Affe als ein Design-Löwe sind. Hier ist etwas, das perfekt für Sie ist.

Chameleon ist ein iOS-Farbframework. Es erweitert UIColor um moderne Flat-Farben auf wirklich schöne Weise. Du kannst es auch verwenden, um Paletten mit benutzerdefinierten Farben zu erstellen. Es hat viele weitere Verwendungszwecke, also schau dir die Readme an. Wenn deine App großartig aussehen soll, füge diese Bibliothek unbedingt deinem Projekt hinzu.

5. Alamofire
Alamofire ist eine saubere Networking-Bibliothek, geschrieben in Swift. Hast du jemals AFNetworking verwendet? Alamofire ist sein jüngeres Geschwister. Natürlich jünger und moderner (AFNetworking ist in Objective-C geschrieben).

Wenn du Netzwerkarbeit erledigen musst, wie Herunterladen, Hochladen, Abrufen von JSONs und so weiter, ist Alamofire genau das Richtige für dich. Mit mehr als 8,000 Sternen auf GitHub kannst du nichts falsch machen.
Findest du das Standard-UITextField nicht auch ein bisschen langweilig? Ich finde schon — hier ist TextFieldEffects! Genug geredet, schau dir einfach ein paar Beispiele an:



Ja, sie sind alle einfache Drop-in-Controller. Du kannst sogar IBDesignables in deinem Storyboard verwenden.
Leider unterstützt diese Bibliothek kein CocoaPods (falls du aus der Zukunft kommst und sich das irgendwann ändert, sag mir unbedingt auf Twitter Bescheid), aber sie unterstützt Carthage. Lade einfach das Projekt von GitHub herunter und füge es in deinen Workspace ein.
7. GPUImage
Hast du jemals eine Kamera-App geschrieben? Wenn nicht, wirst du früher oder später unweigerlich auf diese Bibliothek stoßen.

GPUImage bietet einen GPU-beschleunigten Kameraeffekt (für Fotos und Videos) und verarbeitet mit Blitzgeschwindigkeit. Es gibt Hunderte Apps im App Store, die diese Bibliothek verwenden. Ich habe auch eine App, die GPUImage verwendet. Es hat 8,869 Sterne auf GitHub und wächst weiter.

8. iRate
Wie bekommt man am besten mehr Bewertungen im App Store? Mir fehlen solide Daten, um diese Frage zu beantworten, aber wenn ich raten müsste, würde ich vorschlagen, die Nutzer zu fragen. Vielleicht ist das etwas altmodisch — die meisten Entwickler erstellen heutzutage benutzerdefinierte In-App-Hinweise.
Aber wenn du keine Zeit hast oder es nicht von Grund auf selbst implementieren möchtest, solltest du besser iRate verwenden. Das ist iRate — eine kleine Bibliothek — du kannst sie in dein Projekt einbinden, Umfrageaufforderungen und Ähnliches vergessen, und iRate kümmert sich zum richtigen Zeitpunkt für dich um das Problem.
Ob du das Singleton-Muster magst oder nicht, die Verwaltung eines einzelnen GameCenter ist weitaus besser als die anderen, gegenteiligen Muster, die wir kennen. (Dein Spiel hat nur ein GameCenter, richtig?)

Ehrlich gesagt ist die Verwaltung von Standard-GameCenter unter iOS nicht allzu schwer, aber mit dieser Bibliothek ist es noch einfacher und schneller. Ist es nicht besser, eine gute Sache noch besser zu machen?

Ich habe das in einem meiner Spiele verwendet und hatte eine großartige Erfahrung.
Achte auf dieses — es ist wirklich großartig! Einer meiner Lieblings-iOS-Controls. PKRevealController ist ein ausfahrbares Seitenleistenmenü (kann nach links, rechts oder in beide Richtungen gleichzeitig gleiten) mit nur einem sanften Wisch deines Fingers (oder einem Knopfdruck, aber das ist beim Gleiten nicht so cool).

Ich habe einige andere Bibliotheken ausprobiert, die diese Art von Control bieten, und PKRevealController ist die beste. Einfach zu installieren, hochgradig anpassbar und mit großartiger Gestenerkennung. Es könnte als Standard-Control im iOS SDK durchgehen.
Hast du jemals die Slack-iOS-App verwendet? Wenn du bei einem großen Softwareunternehmen arbeitest, vielleicht schon. Für diejenigen, die es nicht haben? — Slack ist beeindruckend. Apps, die Slack verwenden, sind genauso, besonders wenn sie als hervorragendes, benutzerdefiniertes Texteingabe-Control verwendet werden. Dann hast du fertigen Code, den du in deine App einfügen kannst.
Selbstanpassender Textbereich? Probier es aus.
Gestenerkennung, automatisches Ausfüllen, Medienzusammenführung? Probieren Sie es aus.
Schnelle Drop-in-Lösung? Probieren Sie es aus.
Was will man mehr?
RETableViewManager hilft Ihnen, Tabellenansichten dynamisch zu erstellen und zu verwalten. Es bietet vordefinierte Zellen (Bool, Text, Datum und so weiter — siehe den Screenshot unten), aber Sie können auch benutzerdefinierte Ansichten erstellen und sie zusammen mit den Standardzellen verwenden.

Der Screenshot links sieht sehr starr aus! Das ist alles, was man im Storyboard ohne diese Bibliothek machen kann, aber manchmal ist Code besser als ein visueller Editor.
13. PermissionScope
Mit dieser Bibliothek können Sie Benutzer über die erforderlichen Systemberechtigungen informieren, bevor Sie sie danach fragen, was den Benutzern ein besseres Erlebnis bietet. Höhere Akzeptanz -> mehr aktive Benutzer -> höhere Retentionsrate -> bessere Daten -> höhere Downloadraten. Diesen Pod wärmstens empfehlen.
14. SVProgressHUD
Dieses Bild lädt normal, ohne dass man zu lange warten oder die Seite neu laden muss. Genau so verhält sich SVProgressHUD in Ihrer App. Wenn Sie einen anpassbaren Ladeindikator benötigen, dann ist er genau das Richtige (vielleicht der beste).
15. FontAwesomeKit
Font Awesome ist großartig. Damit können Sie Ihrem Projekt ganz einfach Schriftarten hinzufügen und sie auf vielfältige Weise verwenden.

16. SnapKit
Magst du Auto Layout? Natürlich tust du das!Zumindest magst du es, wenn es im Storyboard erstellt wird. Constraints nur im Code zu erstellen ist sehr schmerzhaft, aber zum Glück haben wir SnapKit. Wenn du es erst einmal einsetzt, kannst du Constraints einfach und intuitiv schreiben.

17. MGSwipeTableCell
Dies ist eine weitere UI-Komponente, die in vielen Apps häufig vorkommt. Apple sollte in Betracht ziehen, etwas Ähnliches zum Standard-iOS-SDK hinzuzufügen. Wischbare Tabellenzellen sind die beste Beschreibung für dieses Pod und auch die beste.
Dies sind nur drei der Animationstypen; es gibt noch viele weitere Variationen. Schau dir die Readme an.
18. Quick
Wird für Unit-Tests in Swift verwendet (funktioniert auch mit Objective-C) und ist in Xcode integriert. Wenn du ein Fan von Objective-C bist, empfehle ich stattdessen Specta, aber für Swift-Nutzer ist Quick die beste Wahl.


19. IAPHelper
In-App-Käufe liefern uns viel Beispielcode, und diese Bibliothek wirft diesen Code weg und bietet einen einfachen Wrapper um die meisten gängigen Aufgaben im Zusammenhang mit Geldtransaktionen.
20. ReactiveCocoa
Nun, dieses hier ist ein kleines Monster.
ReactiveCocoa ist nicht wie die anderen Bibliotheken auf dieser Liste; es ist kein kleines Drop-in-Projekt. ReactiveCocoa bringt einen völlig anderen Programmierstil und eine andere Struktur mit sich, basierend auf Signalen und Datenflüssen. Zuerst musst du alles vergessen, was du weißt, um zu verstehen, wie es funktioniert. Es ist sehr herausfordernd, aber sehr lohnend.

ReactiveCocoa hier zu lehren ist nicht wirklich angemessen, aber wenn du interessiert bist, stelle ich dir einige gute Ressourcen zur Verfügung:
- Erste Schritte mit ReactiveCocoa
- Mattt Thompson:ReactiveCocoa
- ReactiveCocoa-Tutorial – Die ultimative Einführung: Teil 1/2
Hinweis: Für unsere Freunde in der iOS-Entwickler-Community wird dieser Beitrag etwas technischer ausfallen.
21. SwiftyJSON
Vereinfachen Sie das JSON-Parsing in Swift.
22. Spring
Verbessern Sie Animationen in Bezug auf Einfachheit, Verkettbarkeit und Deklarativität.

23. FontBlaster
Erleichtern Sie das Laden benutzerdefinierter Schriftarten.
24. TAPromotee
Cross-Promotion ist eine der besten Marketingstrategien, die Sie kostenlos umsetzen können. Die Verwendung dieser Bibliothek macht es extrem einfach—so einfach, dass es unmöglich ist, sie nicht zu verwenden. Fügen Sie TAPromotee zu Ihrer Podfile hinzu, konfigurieren Sie es kostenlos und genießen Sie mehr Downloads.

25. Concorde
Lädst du eine Menge JPEGs in deiner App? Mit Concorde kannst du das auf eine viel bessere Weise lösen – es ist eine enorme Verbesserung.

26. KeychainAccess
Ein kleiner Helfer zur Verwaltung des Keychain-Zugriffs.

27. iOS-charts
Nicht zuletzt – die iOS-Diagrammbibliothek! Sehr nützlich und schön, ich muss hier nicht mehr sagen. Scrolle nach unten und du wirst sehen, was du damit machen kannst.

Genau, alles ist zu Drop-in-Komponenten geworden (oder vielleicht "Code-in-Komponenten").


Leider unterstützt es CocoaPods noch nicht, daher musst du es manuell in deinen Xcode-Workspace ziehen.