はじめに
タイトルそのまんまです。参考サイトとかからリンクを飛んでGithubでスターつけるまではいいのですがあまりにも沢山つけすぎて実際に使ったり今後使いそうなものをそこから見つけるのにまた同じ手順を踏まなければいけない状況だったので自分のために随時更新していきます。
PodやCarthageと横に書いてあるのはそれらで管理ができるライブラリだという意味です。
ここでも言われていますが、できればライブラリ使わなくてもいい技術力付けたいですね。
(中にはすでに非推奨になっているものもあります。ご了承ください。)
以下から(特に分類はしない)
一旦ここにためて順次分類していきます。分類も時間のあるときに段階的にやっていく予定です。
分類済
この下に分類していきます。
UI関係
Label,ボタンなどUI要素
- TTTAttributedLabel[Carthage,Pod]...リンクなど色々できるUILabel拡張ライブラリ
- RKNotficationHub[Pod]...Facebookのタブみたいにアプリ内で通知の赤い丸を使えるようになる
- JOEmojiableBtn[Pod]...よくわからないけどFacebookの今のいいねボタンみたいなことができるライブラリ
- FMAssetStream[Pod]...NavigationBarの下にプログレスバーを表示してLoading的な
- MaterialKit[Pod]...iOSでMaterialデザインを使いたいという人のためのライブラリ集
- Pulsator[Carthage,Pod]...詳しくは作者の方のQiita記事が一番だと思うのでQiita記事のリンクにしています。電波が広がっていくようなアニメーションを簡単に実装できるライブラリだそうです。
- Side-Menu.iOS[Pod]...とりあえずかっこいいサイドメニューが使えます。あと関係ないけど説明にのってる公式サイトが死ぬほどかっこいい
- CRNetworkButton[Pod]...ロード中をかっこよくアニメーションするボタンのライブラリ
- DOFavoriteButton[Pod]...最近のTwitterのいいねボタンみたいなアニメーションのついたボタン
キーボード関連
- RxKeyboard[Carthage,Pod]...Rx製のキーボードサポートライブラリです。Rxっぽいことをキーボードでもできるらしい(?)
- Typist[Carthage,Pod]...キーボードのイベントを通知を通さず関数型ちっくに拾えるようになる
TableView,CollectionView関連
- KTCenterFlowLayout[Pod]...CollectionViewのセンタリングをしてくれる(iPadだと微妙?)
- SWTableViewCell[Pod]...TableViewCellの拡張でスワイプした時に出てくるボタンを自分で増やせるようになる
- DZNEmptyDataSet[Carthage,Pod]...TableViewやCollectionViewのcellが無い時の画面をデザインできるライブラリ
- PageMenu[Carthage,Pod]...TabViewの動きがPageViewっぽくなるライブラリ
- IGListKit[Carthage,Pod]...Instagramが自社で使っているライブラリ。AdapterみたいなAndroid風の感じでネットからデータをとってくる系テーブルビューをおそらくInstagramぐらいぬるぬる動くようにできる(はず)
- CascadingTableDelegate[Carthage,Pod]...リッチなテーブルビューが実装できる
ViewController,トランジション系
- BubbleTransition[Carthage,Pod]...なんかリッチなトランジションが実装できるライブラリ
- MSDynamicsDrawerViewController[Pod]...これもよくわからないけどスワイプして出てくるメニューとかUIViewControllerをよりリッチな感じにするライブラリ
- iOS Swift ColorPicker...ColorPickerを表示するViewControllerとIBDesinableのセット
- BSImagePicker[Pod]...ギャラリーから画像を複数枚選択したい時に使える
- WVPopoverController[Pod]...PopoverのUIをカスタマイズできるもの
- SegueAddition[Pod]...performSegueWithIdentifer+prepareForSegueを一個にまとめて簡潔に書けるようにしたもの。Podで導入できるみたいだけどSegueAddition.swiftをダウンロードして自分のプロジェクトにコピーしとけばすぐにでも使えそう
- Gecco[Pod]...チュートリアルで画面の一部にスポットあてるみたいなことができるやつ
- RMPScrollingMenuBarController[Pod]...Tabメニューが連動するページビュー
- AZTransitions[Carthage,Pod]...昔のiPhoneのアプリ切り替え画面ちっくなトランジションとかクロスディゾルブ的なやつとか
- JSQMessageViewController[Pod]...LINEやFacebook MessengerみたいなチャットのUIを簡単に実装できるライブラリ。めっちゃ感動したからあえてここに置いておきます。
画像関連
- uiimage-from-animated-gif...UIImageでGIFも扱えるようにする拡張ヘッダファイル
- FLAnimatedImage[Carthage,Pod]...Flipboard社のGIFを扱うライブラリ
- isGIFExtension...手前味噌なんですがNSDataがGIFかどうか判断する必要があったのでObjective-Cですでにネット上にあったものをSwiftで書き直しました。
Alert関連
- SCLAlertView[Pod]...AlertViewの拡張ライブラリ、フラットデザインみたいな
- XLActionController[Carthage,Pod]...UIActionControllerの拡張ライブラリ
- RNBlurModalView[Pod]...Alertが出てる時他の部分がモヤかかったみたいになるやつ
- TSMessage[Pod]...なんかかっこよく通知下りてくるもの。詳しくはREADMEのスクショで
アニメーション・メディアアートなど
- C4iOS[Carhage,Pod]...iOSプログラミング用メディア系フレームワーク。Processingとかみたいなことを簡単にiOSで実装可能になる
- Cheetah[Carthage,Pod]...アニメーションフレームワーク
QR
- QRCodeReader.swift[Carthage,Pod]...多分もっとも簡単に扱える
全般
- AsyncDisplayKit[Carthage,Pod]...facebook製の非同期(メインスレッド以外)で画面を描画するUIKitの代替物
- PureLayout[Pod]...AutoLayoutをコードからも使えるようになるAPI(?)
- SnapKit[Carthage,Pod]...AutoLayoutのラッパー
- iosMath[Pod]...TeXが表示できる。日本語は対応してない。
ネットワーク関係
JSON関連
- Himotoki[Carthage,Pod]...Ikesyoさん作JSONパーサ
- SwiftyJSON[Carthage,Pod]...JSONを扱うためのライブラリ、Alamofireとセットで紹介されることが多い
通信一般
- Alamofire[Carthage,Pod]...ネット通信系で一番有名なやつ
- APIKit[Carthage,Pod]...タイプセーフなAPIクライアント
- AwesomeCache[Carthage,Pod]...分類ここでいいのかわからないけどキャッシュをしてくれるライブラリ
- Requests...同期通信のHTTPクライアント
- Moya[Carthage,Pod]...企業の製品などで使われているAPIクライアントをつくれるライブラリ。RxやReactive版も存在する。
画像通信系
- SDWebImage[Carthage,Pod]...非同期で画像をダウンロードしてくれたりするUIImage拡張ライブラリ
- Nuke[Carthage,Pod]...非同期通信で画像を取得したりする最新のライブラリ
- PINRemoteImage[Carthage,Pod]...非同期画像ライブラリその3
- KingFisher[Carthage,Pod]...Swift製の非同期画像ライブラリ。新しいデファクトの可能性あり
音楽通信系
- Chorister[Pod]...音楽ファイル版SDWebImageのダウンロード部分みたいなもの。日本製。
サードパーティAPI系
- Google-Mobile-Ads-SDK[Pod]...Googleの広告を入れるためのSDK
- Swifter...非公式のTwitterフレームワーク、OAuthの他にACAccountを使ってログインすることができるのでTwitter側でごにょごにょする必要がない
- Fabric...Twitter公式のiOS用ライブラリ。使うのはとても簡単だがツイートのcellを自分でデザインできないなど制約がある
- SlackKit[Pod]...Swiftで書かれたSlackクライアントライブラリ
プログラミング関係
Codable
- CodableFirebase[Carthage,Pod]...FirebaseをCodableで扱えるようにするライブラリ。便利。
- MoreCodable[Carthage,Pod]...いろんなもののCodableをまとめたライブラリ。try! Swift2018で発表されていた。
Reactive Programming
- RxSwift[Carthage,Pod]...ReactiveProgramming用ライブラリSwift版。Rxシリーズの一つ。
- ReactiveKit[Carthage,Pod]...ReactiveProgramming用ライブラリ。
- SwiftFlux[Carthage,Pod]...FluxをSwiftで実現するできたばっかりの国産ライブラリ
- ReSwift[Carthage,Pod]...ReduxをSwiftで実現したライブラリ。上のFluxとあわせて単方向のバインディングなので今後流行っていく可能性ありそう(よくわかってないですが...→記事書きました。)
- RxBluetoothKit[Pod]...RxSwift用のBluetooth関連ライブラリ
- katana-swift[Carthage,Pod]...ReactとかRedux的なフレームワーク
文字列処理
- RegExCategories[Pod]...正規表現の扱いを簡単にしてくれる
- SwiftyAttributes[Carthage,Pod]...NSStringAttributesを簡易化したもの
関数型プログラミング
- Swiftz[Carthage]...Swiftの関数型プログラミング拡張ライブラリ
- Either[Carthage]...二つの型をもつ一つの型をつくる、EitherのSwift版
- PromiseK[Carthage]...モナドとしてデザインされたPromiseのSwift版
- thoughtbot製の各種ライブラリ[Carthage,Pod]...Argo(JSONパーサ)などをつくってるところです。紹介記事を読んでみると簡単に書けるようにモナドやカリー化などのHaskellでよく使われるような概念を多数輸入して実装されているみたい。
AI
- WhatThis iOS...画像認識AIライブラリを使ったアプリのサンプル
- Swift AI...Swiftで書かれた人工知能ライブラリ
- Parsimmon[Pod]...自然言語の構文解析ちっくなもの
データベース
- Realm[Pod]...言わずもがなな有名データベースツール
その他
- Result[Carthage,Pod]...Optional型の拡張ライブラリ
- RandomKit[Carthage,Pod]...いろんなもののランダム生成を簡単にできる
- GlueKit[Carthage,Pod]...KVC/KVOを簡単にするためのライブラリ
ツール
マルチプラットフォーム系
- RemobjectsSilver...SwiftコードをAndroidバイナリに出力できるツール
- Windows Bridge for iOS...Microsoft純正のObjective-Cで書かれたiOSアプリのコードをWindows10用アプリに変換できるツール
Webフレームワーク
※ 全部試そうとしたのですが2016-04-12のSNAPSHOTをswiftenvで導入した環境でビルドしようとすると付随してダウンロードされるライブラリでことごとくコンパイルエラーを起こしてビルドが出来ないという状況に陥っています。何か解決法を知っている方いましたら教えていただきたいです^^;
→結局2016-03-24のSNAPSHOTにしたらビルドできました。。。
- Vapor...Webフレームワーク一つ目。導入もデプロイもHeroku使えて簡単らしい。
- Perfect...オープンソース化が発表される前から発表されていたらしい。デプロイなどはwebに慣れている人でないと難し目?
- Kitura...IBM製のもの。IBM Bluemixっていうクラウドサービス上で動かせる
- Swifton...githubでswift webで調べたら上の三つの次に出てきた。Ruby on RailsのSwift版みたいな立ち位置らしい。のでRails使ってる人には一番馴染みやすいかも...?
デザイン系
- OnsenUI...HTMLでモバイルアプリが設計できるフレームワーク
小技系
- Xcode-Snippets...XcodeのSnippet集
最後に
元も子もないですが他のリンク集も載せておきます。
- Awesome Swift...ライブラリのリンク集があります(英語ですが)
- iOSの開発でお気に入りのライブラリN選...ライブラリのリンク集で、スクショが豊富です
- iOS系リンク集...参考サイトなども載っています。
- 約2年のiOSアプリ開発で実際に使ったライブラリとそこから得られた知見...実際適用してみての所感なども書かれています。
- 使うと手放せなくなるSwift Extension集...その名のとおり役立つExtensionやExtension系ライブラリが紹介されています。
僕のリンク集でカバーしきれていない部分はこちらも参考にしてください。