【随時更新】iOS開発で使ったライブラリーまとめ（２２個）

この記事は[株式会社クロノス](https://www.kronos.jp/)の「~2020年春~勝手にやりますアドベントカレンダー」の14日目の記事ですが、 **記事内容は現在も更新していってます** 。
「~2020年春~勝手にやりますアドベントカレンダー」インデックスは[こちら](https://qiita.com/beeeyan/items/342d51fa301bcf81e9c0)

## はじめに
他の方もまとめてくれているものが沢山あります。あくまで自身のメモ代わりで。
とりあず、開発序盤は、ライブラリ漁りしてる事が多いです。
毎回探すのが面倒なので、まとめてメモしておくことにします。
※基本的には自分が開発で実際に導入したもののみ記載（一部違う）。
※AWSやFirebaseは除外。

## サマリ
- [Alamofire](#alamofire)
- [Moya](#moya)
- [MagicalRecord](#magicalrecord)
- [Realm](#realm)
- [SwiftyJson](#swiftyjson)
- [SWXMLHash](#swxmlhash)
- [SwiftyXMLParser](#swiftyxmlparser)
- [SVProgressHUD](#svprogresshud)
- [SwiftSpiner](#swiftspinner)
- [PKHUD](#pkhud)
- [CDAlertView](#cdalertview)
- [MessageKit](#messagekit)
- [IQKeyboardManagerSwift](#iqkeyboardmanager)
- [TextFieldEffects](#textfieldeffects)
- [SwiftyPickerPopover](#swiftypickerpopover)
- [HideShowPasswordTextField](#hideshowpasswordtextfield)
- [R.swift](#rswift)
- [KeychainAccess](#keychainaccess)
- [PromiseKit](#promisekit)
- [Promise](#promise)
- [SwiftPrettyPrint](#swiftprettyprint)
- [Gedatsu](#gedatsu)

## 通信系ライブラリ
### [Alamofire](https://github.com/Alamofire/Alamofire)
いわずもがな、超メジャー通信ライブラリ
説明不要かな
### [Moya](https://github.com/Moya/Moya)
Alamofireをさらに拡張して、使いやすくしたライブラリ
Alamofireに慣れているとそれほどかもしれませんが、
ちょっとした所で使いやすくなっています。
<img width="257" alt="スクリーンショット 2020-03-12 12.30.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19748/2825718a-c720-9b63-277e-f1b56c085735.png">

## DB関連
### [MagicalRecord](https://github.com/magicalpanda/MagicalRecord)
CoreDataを簡単に利用するためのライブラリ
こちらも老舗のメジャーライブラリ

### [Realm](https://github.com/realm/realm-cocoa)
モバイルデータベースのRealmです。
デファクトスタンダードと言っても過言ではないと思ってます。

## パース系
最近はほとんどがJSON利用しているので、XMLとかライブラリあると地味に助かってます。

### [SwiftyJson](https://github.com/SwiftyJSON/SwiftyJSON)
Jsonパース系では、追随を許さないくらいのメジャーライブラリ

### [SWXMLHash](https://github.com/drmohundro/SWXMLHash)
こちらはXMLをパースしてくれます。
XMLは最近使うことがあまりないのですが、たまにでてくると非常に面倒なので助かります。

### [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser)
Yahoo Japanさんが提供してくれているライブラリ
SwiftyJsonやSWXMLHashをインスパイヤされて作成さたようです。
使い方の好み的には、SWXMLHashよりこっちかなー。

## UI系
ローディング関係は、好みが分かれたり、アプリのコンセプトなどにもよるので
スタンダード（地味？）なものが好まれている印象です。
### [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD)
こちらも有名なローディングライブラリ
試してみたら、iOS13だと位置がずれた。。。
![](https://camo.githubusercontent.com/6ed028acbf67707d622344e0ef1bc3b098425b50/687474703a2f2f662e636c2e6c792f6974656d732f32473146315a304d306b306832553356317033392f535650726f67726573734855442e676966)
※画像はGithub引用

### [SwiftSpiner](https://github.com/icanzilb/SwiftSpinner)
![](https://raw.githubusercontent.com/icanzilb/SwiftSpinner/master/etc/spinner-preview.gif)
※画像はGithub引用
### [PKHUD](https://github.com/pkluz/PKHUD)
Swift製で派手な要素はないが、シンプルで使いやすくなってます。
![](https://cloud.githubusercontent.com/assets/1275218/10124182/09f4c406-654f-11e5-9cab-0f2e6f470887.gif)
※画像はGithub引用
### [CDAlertView](https://github.com/candostdagdeviren/CDAlertView)
アラート（ダイアログ）表示ライブラリ
表示だけでなく、アニメーションも可能、使い方もシンプルなので便利です。
![](https://cloud.githubusercontent.com/assets/1971963/20238308/4bc1516e-a8e8-11e6-8e8b-c1a088f5daa0.png)
※画像はGithub引用

### [MessageKit](https://github.com/MessageKit/MessageKit)
LineのようなチャットメッセージUIを提供してくれます。
導入方法も簡単、テキスト、画像、MAPなどにも対応しています。
![](https://raw.githubusercontent.com/MessageKit/MessageKit/master/Assets/TypingIndicator.png)
※画像はGithub引用

### [IQKeyboardManagerSwift](https://github.com/hackiftekhar/IQKeyboardManager)
こちらは、入力時のキーボードが表示された際に画面を自動であげてくるライブラリです。
導入含めてめちゃくちゃ助かってます。
![](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerScreenshot.png)
※画像はGithub引用

### [TextFieldEffects](https://github.com/raulriera/TextFieldEffects)
テキスト入力フィールドをスタイリッシュにしてくれます。
いくつかスタイルも用意されていて、使いやすいです。
### [SwiftyPickerPopover](https://github.com/hsylife/SwiftyPickerPopover)
![](https://github.com/hsylife/SwiftyPickerPopover/raw/master/README_resources/SwiftyPickerPopover_movie.gif)
※画像はGithub引用
### [HideShowPasswordTextField](https://github.com/Guidebook/HideShowPasswordTextField)
TexFieldの文字を表示したり、マスクしたりできる便利
![](https://camo.githubusercontent.com/e86b3414e77d02a218a19007d47a8d919ce793e1/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f662e636c2e6c792f6974656d732f31453359313933383373334a336730623259304d2f70617373776f72645f6769662e6769663f763d6663393761633937)
※画像はGithub引用

## 拡張、ユーティリティ、その他系
ユーティリティ関連、カテゴライズ面倒なのもここにいれてます。

### [R.swift](https://github.com/mac-cain13/R.swift)
Androidでおなじみのリソース関連を簡単に取得できる仕組みですが、
それのSwift版ですね。
Storyboad、Segue、xib、image、などがコード補完で型までちゃんとして取得できる。

### [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess)
Keychainをラッピングして使いやすくしてくれています。
共通クラスに記述して使用してました。

### [PromiseKit](https://github.com/mxcl/PromiseKit)
非同期処理用のライブラリ
シンプルに非同期処理が記述できるのがうり。
まぁ、Javascriptで慣れているかたも多いのではないでしょうか。

### [Promises](https://github.com/google/promises)
Google製のライブラリ
PromiseKitと同様にシンプルに非同期処理が記述できる
Github見るかぎり、こっちのほうが早いよって書いてある。
※これは未使用

### [SwiftPrettyPrint](https://github.com/YusukeHosonuma/SwiftPrettyPrint)
print(), debugPrint() and dump()　での出力を見やすくしてくれるライブラリ
スタンダードライブラリと言っても過言ではないのかなと。
※使ってるくせに忘れてました

### [Gedatsu](https://github.com/bannzai/Gedatsu)  
AutoLayoutのあいまいな制約について分かりやすい状態でログに出力してくれる。
![](https://github.com/bannzai/Gedatsu/blob/master/docs/gedatsu.png?raw=true)
※画像はGithub引用

## まとめ
一回使って便利だったものは、CocoaPods、Carthageと管理は変われど、概ねリピートしてます。
その他、もっと使ってるのですが暇を見つけて追加していきます。
他にもコード拡張などもあるので、それもいつか記事にしたい。