私はオープンソースが大好きですが、それ以上に、貴重な余暇の時間を費やして奇跡を生み出す開発者の皆さんが好きです。彼らが苦労して築いた成果を無償で共有してくれていることに感謝します。オープンソースの作者やコントリビューターの皆さん、あなたたちは本当に素晴らしい。すべての尽力に感謝します。
全部集めないと死んでしまう星人の私としては、個人的な好みでいくつかのiOSオープンソースライブラリを選びました。これらのプロジェクトの順番は完全にランダムで、どれも最高に素晴らしいものです。ほとんどがCocoaPodsに対応しているので、Xcodeプロジェクトへの追加は朝飯前です。
この記事の最後には「長文注意」バージョンがあります——タイトルとプロジェクトリンクだけのシンプルなリストです。この記事が役に立つと思ったら、iOS開発をしている仲間たちに共有してください。良い酒も路地の奥では知られずに終わりますから。
DZNEmptyDataSetは、空のtable viewやcollection viewを処理するための、かなり標準的なiOSの方法です。デフォルトでは、table viewが空の場合、画面も空になります。これではユーザー体験はあまり良いものではありません。

このライブラリを使えば、いくつかのプロトコルに準拠するだけで、iOSが自動的にcollection viewをきちんと処理し、ユーザーメッセージを適切で美しい形で表示してくれます。どのiOSプロジェクトでも自動的に処理できるので、いちいち気を配る必要はありません。
アプリにシンプルで美しく、正常に動作するカレンダーコンポーネントが必要ですか?もうあります——PDTSimpleCalendarは、おそらくiOSで最も優れたカレンダーコンポーネントです。動作ロジックも外観も、あらゆる面でカスタマイズできます。

彼らは言います。「Core Dataはシンプルで使いやすい」と。またこうも言います。「とても素晴らしくて便利だよ」と。は?本当ですか、Apple?各プロジェクトに追加される大量のボイラープレートコードは、「シンプルで使いやすい」という基準には全く合致しません。大量のエンティティの追加・削除・更新、contextの保存、環境ごとに異なるCore Dataスタックの作成などは言うまでもありません。もちろん、私はCore Dataが好きです。しかし、Appleはもっとうまく簡素化できたはずです——MagicalRecordのやり方でなら。

MagicalRecordは、Core Dataにラッパーをかぶせて、関係のないものをすべて隠してくれます。アクティブレコードパターン(Ruby on Railsなど)を使ったことがある人なら、分かるはずです。心からおすすめします。アプリでCore Dataを使っている皆さんは、ぜひ試してみてください。
4. Chameleon
ここまで読んできたということは、あなたはおそらくデザイナーというよりプログラマーでしょう。ここにぴったりのものがありますよ。

Chameleonは、iOS用のカラーフレームワークです。モダンなフラットカラーを使い、UIColorを美しく拡張します。カスタムカラーを使ったパレットの作成も可能です。他にも多くの機能があるので、readmeを参照してください。アプリを美しくしたいなら、このライブラリをぜひプロジェクトに追加してください。

5. Alamofire
Alamofireは、Swiftで書かれたシンプルなネットワークライブラリです。AFNetworkingを使ったことはありますか?Alamofireはその弟分です。より若く、よりスタイリッシュです(もちろん、AFNetworkingはObjective-Cで書かれています)。

ダウンロード、アップロード、JSONの取得など、ネットワーク関連の作業が必要なら、Alamofireこそが必要なものです。GitHubで8000人以上から推薦されています。間違いありません。
標準のUITextFieldは少し退屈だと思いませんか?私もそう思います——TextFieldEffectsを紹介しましょう!余計な説明は抜きにして、いくつかの例を見てください:



そう、どれもシンプルなドロップインコントローラーです。storyboardでIBDesignablesを使うこともできます。
残念なことに、このライブラリはCocoaPodsに対応していません(もし未来から来た人で、この状況が変わっていたら、Twitterで教えてください)。ただしCarthageには対応しています。GitHubからプロジェクトをダウンロードして、自分のworkspaceに入れるだけでOKです。
7. GPUImage
カメラアプリを書いたことはありますか?まだなら、すぐにこのライブラリに出会うことになるでしょう。

GPUImageは、GPUアクセラレーションによるカメラエフェクト(写真と動画の両方に対応)を提供し、処理速度は非常に高速です。App Storeでは、このライブラリを使っているアプリが数百あります。私もGPUImageを使っているアプリを1つ持っています。GitHubでは8869個のスターを獲得しており、まだ伸び続けています。

8. iRate
App Storeでより多くのレビューを得る最良の方法は何でしょうか?この質問に答えるには確かなデータがありませんが、どうしても推測するなら、ユーザーに尋ねることを提案します。少しベタかもしれません——最近の開発者の多くは、カスタムのアプリ内アラートを作成していますから。
しかし、時間がない場合や、ゼロから実装したくない場合は、iRataを使うのが最善です。これがiRataです——小さなライブラリで、プロジェクトに入れるだけで、アンケートなどはすべて忘れてください。iRateが適切なタイミングでこの問題を解決してくれます。
シングルトンパターンが好きかどうかに関わらず、1つのGameCenterを管理する方が、私たちが知っている他の逆のパターンよりはるかに優れています。(あなたのゲームにはGameCenterが1つだけですよね?)

正直なところ、iOSで素のGameCenterを管理するのはそれほど難しくありません。しかし、このライブラリを使えば、より簡単に、より速くなります。良いものがさらに良くなるのは、もっと良いことではないでしょうか。

私は自分のゲームの1つでこれを使っており、とても良い感触でした。
これは注目です。本当に素晴らしい!私が最も好きなiOSコントロールの1つです。PKRevealControllerは、スライド式のサイドバーメニューです(左、右、または両方向に対応)。指で軽くスワイプするだけで操作できます(またはボタンを押すこともできますが、スワイプするほどクールではありません)。

この種のコントロールを提供する他のライブラリもいくつか試しましたが、PKRevealControllerが最高です。インストールは簡単で、高度にカスタマイズ可能、ジェスチャー認識も優れています。iOS SDKの標準コントロールと言っても過言ではありません。
SlackのiOSアプリを使ったことはありますか?大きなソフトウェア企業で働いているなら、使ったことがあるでしょう。使ったことがない人にとっては?——Slackは魅力的です。Slackを使うアプリも同様に魅力的です。特に、優れたカスタムテキスト入力コントロールとして使用される場合は最高です。これで、アプリですぐに使えるコードが手に入ります。
自動調整されるテキストエリア?試してみてください。
ジェスチャー認識、オートコンプリート、マルチメディア統合?試してみてください。
手軽なドロップインソリューション?試してみてください。
他に何が欲しいというのでしょう?
RETableViewManagerは、テーブルビューの動的な作成と管理を支援します。定義済みのセル(ブール型、テキスト、日付など——下のスクリーンショットを参照)が提供されていますが、カスタムビューを作成してデフォルトのビューと一緒に使うこともできます。

左のスクリーンショットは非常に古臭く見えます!storyboardでこのライブラリなしにできることはこれくらいです。しかし、時にはコードの方がビジュアルエディターよりも優れています。
13. PermissionScope
このライブラリを使うと、ユーザーに尋ねる前に必要なシステム権限を通知できるため、より良いユーザー体験を提供できます。受け入れ率の向上—>アクティブユーザーの増加->維持率の向上->データの改善->ダウンロード率の向上。超おすすめのpodです。
14. SVProgressHUD
この画像は正常に読み込まれており、長く待ったりページを更新したりする必要はありません。これはまさに、SVProgressHUDがあなたのアプリ内で見せる動作です。カスタマイズ可能なローディングインジケーターが必要なら、これがそれです(おそらく最高のものです)。
15. FontAwesomeKit
Font Awesomeは素晴らしく、これを使えば簡単にプロジェクトにフォントを追加できます。使い方も多岐にわたります。

16. SnapKit
自動レイアウトは好きですか?もちろん好きです!少なくともstoryboardで作成するときは好きです。 コードで制約を完全に手作業で作成するのは非常に苦痛ですが、幸運なことにSnapKitがあります。それを使えば、制約をシンプルかつ直感的に書くことができます。

17. MGSwipeTableCell
これは、多くのアプリでよく見られるもう1つのUIコンポーネントです。Appleは、標準のiOS SDKに同様のものを追加することを検討すべきです。スワイプ可能なテーブルセル——これがこのpodの最良の説明であり、最高のものでもあります。
これはほんの3つのアニメーションタイプにすぎません。他にも多くのバリエーションがあるので、readmeを確認してください。
18. Quick
Swiftでのユニットテストに使用され(Objective-Cでも使用可能)、Xcodeと統合されています。Objective-Cのファンなら、代わりにSpectaを使うことをおすすめします。しかし、Swiftユーザーにとっては、Quickが最良の選択です。


19. IAPHelper
アプリ内課金は大量のサンプルコードを伴いますが、このライブラリはそれらのコードを排除し、金銭取引に関するほとんどの一般的なタスクをシンプルにラップしています。
20. ReactiveCocoa
さて、これは小さな怪物です。
ReactiveCocoaは、このリストの他のライブラリとは異なり、小さなドロップインプロジェクトではありません。ReactiveCocoaは、シグナルとデータフローに基づいた、まったく異なるプログラミングスタイルと構造をもたらします。まず、これまで知っているすべてを忘れてから、その動作方法を理解する必要があります。非常に難しいですが、その価値は計り知れません。

ここでReactiveCocoaを教えるのは少し適切ではありませんが、興味があれば、いくつか良い情報源を紹介します:
- Getting Started with ReactiveCocoa
- Mattt Thompson:ReactiveCocoa
- ReactiveCocoa Tutorial – The Definitive Introduction: Part 1/2
注意:iOS開発コミュニティの皆さんにとって、これは少し技術的な内容を含む作業になります。
21. SwiftyJSON
SwiftでのJSON解析をシンプルにします。
22. Spring
アニメーションを、シンプルさ、連鎖可能性、宣言性の面で向上させます。

23. FontBlaster
カスタムフォントの読み込みがより簡単になります。
24. TAPromotee
クロスプロモーションは、無料で実現できる最高のマーケティング戦略の一つです。このライブラリを使えば非常に簡単で、使わない手はありません——TAPromoteeをあなたのpodfileに追加して、無料で設定し、より多くのダウンロードを楽しみましょう。

25. Concorde
アプリで大量のJPEGを読み込んでいませんか?Concordeを使えば、もっと良い方法で解決できます。これは大きな進歩です。

26. KeychainAccess
Keychainアクセスを管理する小さなヘルパーです。

27. iOS-charts
最後になりましたが、決して重要度が低いわけではありません——iOS用チャートライブラリ!非常に便利で美しい。ここでは余計な説明は不要です。下を見れば、これで何ができるかわかります。

そう、すべてがドロップインコンポーネントになりました(もしかすると「コードインコンポーネント」かも)。


残念ながら、まだCocoaPodsに対応していないため、手動でXcodeワークスペースにドラッグする必要があります。