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.

1. DZNEmptyDataSet

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.

7916618959919052905

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.

2. PDTSimpleCalendar

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.

7916687129639967930

3. MagicalRecord

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.

7917025779221885438

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.

7916513406802779586

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.

7916867449546916812

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).

7916867449546916814

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.

6. TextFieldEffects

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:

7916854255407382019

7917016983128864819

7917048868966067776

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.

7917025779221884764

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.

7916491416570287001

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.

9. GameCenterManager

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?)

7917081854314897416

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?

7916999390942818369

Ich habe das in einem meiner Spiele verwendet und hatte eine großartige Erfahrung.

10. PKRevealController 2

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).

7916931221221331262

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.

11. SlackTextViewController

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?

12. RETableViewManager

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.

7916702522802756705

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.

7916854255407382018

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).

7916702522802756704

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.

7916764095453912512
 

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.

7916762995942284689
 

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.

55ae0953304a9

55ae09e206728

55ae09eeebdf6

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.

7916762995942284684
 
7916702522802756700
 

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.

7917081854314897412
 

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:Reactive​Cocoa
  • 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.

7916931221221331258
 

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.

7916702522802756701
 

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.

7916764095453912513
 

26. KeychainAccess

Ein kleiner Helfer zur Verwaltung des Keychain-Zugriffs.

7916762995942284690
 

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.

7916854255407382020
 

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

7917016983128864820
 
7917048868966067777
 

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