J'aime l'open source, et j'aime encore plus les développeurs qui passent leur précieux temps libre à créer des merveilles. Remerciez-les de partager librement le fruit de leur dur labeur avec tout le monde. Auteurs et contributeurs open source, vous êtes vraiment incroyables, et merci pour toutes vos contributions.
Comme je suis du genre à ne pas pouvoir me reposer sans tout collectionner, j'ai sélectionné ici quelques bibliothèques open source iOS selon mon goût personnel. L'ordre de ces projets est complètement aléatoire, et chacun d'eux est absolument génial. La grande majorité prend en charge CocoaPods, donc les ajouter à votre projet Xcode est un jeu d'enfant.
À la fin de cet article, vous trouverez une version « longue lecture, à aborder avec prudence » — une simple liste ne contenant que des titres et des liens de projets. Si vous trouvez cet article utile, merci de le partager avec d'autres développeurs iOS. Même le meilleur vin a besoin d'une enseigne.
DZNEmptyDataSet est une approche iOS assez standard pour gérer les vues de tableau et les vues de collection vides. Par défaut, si votre vue de tableau est vide, l'écran est vide, ce qui n'offre pas une bonne expérience utilisateur.

Avec cette bibliothèque, il vous suffit de vous conformer à quelques protocoles, et iOS gérera automatiquement correctement les vues de collection et affichera des messages utilisateur de manière appropriée et attrayante. Chaque projet iOS peut le gérer automatiquement, sans avoir à fournir d'efforts pour chacun.
Votre application a-t-elle besoin d'un composant de calendrier simple, beau et fiable ? Il en existe désormais un — PDTSimpleCalendar est sans doute le meilleur composant de calendrier pour iOS. Vous pouvez le personnaliser de toutes les manières, tant au niveau du comportement que de l'apparence.

On dit que Core Data est simple et facile à utiliser. Ensuite, on dit que c'est génial et que ça fonctionne à merveille. Hein ? Vraiment, Apple ? L'énorme quantité de code passe-partout ajoutée à chaque projet est loin de répondre au standard de simplicité et de facilité d'utilisation. Sans parler de l'ajout, de la suppression et de la mise à jour d'une multitude d'entités, de l'enregistrement des contextes, de la création de différentes piles Core Data pour différents environnements, etc. Bien sûr, j'aime beaucoup Core Data, mais Apple pourrait vraiment le simplifier bien mieux — en utilisant l'approche MagicalRecord.

MagicalRecord est comme une surcouche autour de Core Data, qui masque toutes les parties non pertinentes. Si vous avez déjà utilisé le patron active record (comme dans Ruby on Rails), vous voyez ce que je veux dire. Hautement recommandé — si vous utilisez Core Data dans vos applications, vous devriez vraiment l'essayer.
4. Chameleon
Si vous avez lu jusqu'ici, je devine que vous êtes plus probablement un singe du code qu'un lion du design. Voici quelque chose de parfait pour vous.

Chameleon est un framework de couleurs pour iOS. Il étend UIColor avec des couleurs plates modernes d'une manière vraiment magnifique. Vous pouvez aussi l'utiliser pour créer des palettes avec des couleurs personnalisées. Il a beaucoup d'autres usages, alors consultez le readme. Si vous voulez que votre application soit superbe, ajoutez absolument cette bibliothèque à votre projet.

5. Alamofire
Alamofire est une bibliothèque réseau propre écrite en Swift. Avez-vous déjà utilisé AFNetworking ? Alamofire est son petit frère. Plus jeune et plus moderne, bien sûr (AFNetworking est écrit en Objective-C).

Si vous devez effectuer du travail réseau comme télécharger, envoyer, récupérer des JSON, etc., Alamofire est exactement ce qu'il vous faut. Avec plus de 8,000 étoiles sur GitHub, vous ne pouvez pas vous tromper.
Ne trouvez-vous pas le UITextField standard un peu ennuyeux ? Moi aussi — rencontrez TextFieldEffects ! Assez parlé, regardez juste quelques exemples :



Oui, ce sont tous de simples contrôleurs prêts à l'emploi. Vous pouvez même utiliser IBDesignables dans votre storyboard.
Malheureusement, cette bibliothèque ne prend pas en charge CocoaPods (si vous venez du futur et que cela change un jour, n'hésitez pas à me le faire savoir sur Twitter), mais elle prend en charge Carthage. Téléchargez simplement le projet depuis GitHub et déposez-le dans votre espace de travail.
7. GPUImage
Avez-vous déjà écrit une application appareil photo ? Si non, vous êtes sûr de bientôt rencontrer cette bibliothèque.

GPUImage fournit un effet de caméra accéléré par GPU (pour les photos et les vidéos) et traite à une vitesse fulgurante. Des centaines d'applications de l'App Store utilisent cette bibliothèque. J'ai moi aussi une application qui utilise GPUImage. Elle a 8,869 étoiles sur GitHub et continue de croître.

8. iRate
Quelle est la meilleure façon d’obtenir plus d’avis sur l’App Store ? Je manque de données solides pour répondre à cette question, mais si je devais deviner, je suggérerais de demander aux utilisateurs. C’est peut-être un peu démodé — la plupart des développeurs créent désormais des alertes personnalisées dans l’application.
Mais si vous n’avez pas le temps, ou si vous ne voulez pas l’implémenter à partir de zéro, vous feriez mieux d’utiliser iRate. Voici iRate — une petite bibliothèque — vous pouvez l’intégrer à votre projet, oublier les invitations à répondre à des sondages et ce genre de choses, et iRate s’occupera du problème pour vous au bon moment.
Que vous aimiez ou non le patron singleton, gérer un seul GameCenter est bien mieux que les autres patrons opposés que nous connaissons. (Votre jeu n’a qu’un seul GameCenter, non ?)

Honnêtement, gérer GameCenter de base sur iOS n’est pas trop difficile, mais avec cette bibliothèque, c’est encore plus simple et plus rapide. N’est-il pas préférable de rendre une bonne chose encore meilleure ?

Je l’ai utilisé dans l’un de mes jeux et j’ai eu une excellente expérience.
Faites attention à celui-ci — il est vraiment génial ! L’un de mes contrôles iOS préférés. PKRevealController est un menu latéral coulissant (peut coulisser vers la gauche, la droite, ou dans les deux directions en même temps) avec un simple glissement léger du doigt (ou une pression sur un bouton, mais ce n’est pas aussi cool lors du glissement).

J’ai essayé d’autres bibliothèques qui offrent ce genre de contrôle, et PKRevealController est la meilleure. Facile à installer, hautement personnalisable, et avec une excellente reconnaissance des gestes. Il pourrait passer pour un contrôle standard du SDK iOS.
Avez-vous déjà utilisé l’application Slack pour iOS ? Si vous travaillez dans une grande entreprise de logiciels, c’est possible. Et pour ceux qui ne l’ont pas fait ? — Slack est impressionnant. Les applications qui utilisent Slack sont comme ça aussi, surtout lorsqu’il est utilisé comme un excellent contrôle de saisie de texte personnalisé. Ensuite, vous avez du code prêt à l’emploi à intégrer dans votre application.
Zone de texte à dimensionnement automatique ? Essayez-la.
Reconnaissance des gestes, remplissage automatique, fusion de médias ? Essayez-le.
Solution rapide à intégrer ? Essayez-la.
Que demander de plus ?
RETableViewManager vous aide à créer et gérer dynamiquement des vues de table. Il nous fournit des cellules prédéfinies (bool, texte, date, etc. — voir la capture d'écran ci-dessous), mais vous pouvez également créer des vues personnalisées et les utiliser aux côtés de celles par défaut.

La capture d'écran à gauche semble très rigide ! C'est tout ce que vous pouvez faire dans storyboard sans cette bibliothèque, mais parfois le code est meilleur qu'un éditeur visuel.
13. PermissionScope
Avec cette bibliothèque, vous pouvez informer les utilisateurs des autorisations système requises avant de les leur demander, offrant ainsi une meilleure expérience aux utilisateurs. Meilleure acceptation -> plus d'utilisateurs actifs -> taux de rétention plus élevé -> meilleures données -> taux de téléchargement plus élevés. Je recommande vivement ce pod.
14. SVProgressHUD
Cette image se charge normalement, sans avoir besoin d'attendre trop longtemps ni d'actualiser la page. C'est exactement le comportement de SVProgressHUD dans votre application. Si vous avez besoin d'un indicateur de chargement personnalisable, c'est celui-ci (peut-être le meilleur).
15. FontAwesomeKit
Font Awesome est incroyable. Avec lui, vous pouvez facilement ajouter des polices à votre projet et les utiliser de nombreuses façons.

16. SnapKit
Vous aimez Auto Layout ? Bien sûr que oui !Au moins, vous l'aimez quand il est créé dans le storyboard. Créer des contraintes uniquement en code est très pénible, mais heureusement, nous avons SnapKit. Dès que vous l'utilisez, vous pouvez écrire des contraintes simplement et intuitivement.

17. MGSwipeTableCell
C'est un autre composant d'interface utilisateur couramment vu dans de nombreuses apps. Apple devrait envisager d'ajouter quelque chose de similaire au SDK iOS standard. Les cellules de tableau glissables sont la meilleure description de ce pod, et aussi la meilleure.
Ce ne sont là que trois des types d'animation ; il existe de nombreuses autres variantes. Consultez le readme.
18. Tri rapide
Utilisé pour les tests unitaires en Swift (fonctionne aussi avec Objective-C), intégré à Xcode. Si vous êtes un fan d'Objective-C, je recommande plutôt Specta, mais pour les utilisateurs de Swift, Quick est le meilleur choix.


19. IAPHelper
Les achats intégrés nous donnent beaucoup de code d'exemple, et cette bibliothèque jette ce code, en fournissant un wrapper simple autour des tâches les plus courantes liées aux transactions monétaires.
20. ReactiveCocoa
Eh bien, celui-ci est un petit monstre.
ReactiveCocoa n'est pas comme les autres bibliothèques de cette liste ; ce n'est pas un petit projet que l'on intègre facilement. ReactiveCocoa apporte un style de programmation et une structure complètement différents, basés sur les signaux et les flux de données. D'abord, vous devez oublier tout ce que vous savez afin de comprendre comment cela fonctionne. C'est très difficile, mais très gratifiant.

Enseigner ReactiveCocoa ici n'est pas vraiment approprié, mais si cela vous intéresse, je vous fournirai quelques bonnes ressources :
- Premiers pas avec ReactiveCocoa
- Mattt Thompson:ReactiveCocoa
- Tutoriel ReactiveCocoa – L’introduction définitive : Partie 1/2
Remarque : Pour nos amis de la communauté du développement iOS, celui-ci sera légèrement technique.
21. SwiftyJSON
Simplifiez l’analyse JSON en Swift.
22. Spring
Améliorez les animations en termes de simplicité, de chaînage et de déclarativité.

23. FontBlaster
Simplifiez le chargement de polices personnalisées.
24. TAPromotee
La promotion croisée est l’une des meilleures stratégies marketing que vous puissiez mettre en œuvre gratuitement. Utiliser cette bibliothèque la rend extrêmement simple — si simple qu’il est impossible de ne pas l’utiliser. Ajoutez TAPromotee à votre Podfile, configurez-le gratuitement et profitez de plus de téléchargements.

25. Concorde
Vous chargez tout un tas de JPEG dans votre application ? Avec Concorde, vous pouvez résoudre cela d'une bien meilleure manière—c'est une immense amélioration.

26. KeychainAccess
Un petit utilitaire pour gérer l'accès au Keychain.

27. iOS-charts
Enfin, et non des moindres—la bibliothèque de graphiques iOS ! Très utile et magnifique, inutile d'en dire plus ici. Faites défiler vers le bas et vous verrez ce que vous pouvez faire avec.

C'est vrai, tout est devenu des composants prêts à l'emploi (ou peut-être des « composants à intégrer par code »).


Malheureusement, il ne prend pas encore en charge CocoaPods, vous devrez donc le glisser manuellement dans votre espace de travail Xcode.