【Swift】カテゴリ別ライブラリ一覧(個人メモ)


はじめに

普段iOSアプリ開発をする時にライブラリをよく使っていて、いいなと思ったものをGitHubでスター付けたりブックマークに保存したりしてたのですが、如何せん数が多くなってきたので整理しようというモチベーションでこの記事を書いてます。まだ使ったことないものも含まれてます。随時更新して行こうかなと思っております。

普段ここら辺からライブラリを見つけてます。
- iOS Cookies
- iOS Goodies
- iOS Dev Weekly
- GitHub

環境

Xcode 10.2
Swift 5.0(一部4.2)

Architecture

ReactorKit

View, Reactorというprotocol を提供していて、それに従うだけで単方向ストリームの綺麗なアーキテクチャが構成できます。僕はほとんどのアプリでこれを採用していています。

Prex

FluxMVPを組み合わせたアーキテクチャを提供しています。

Network

Moya

Alamofireのラッパーという認識。今まで自分でAlamofireのラッパーを頑張って書いてたのがアホらしくなりました。RxSwiftに対応しているのが嬉しい。

Kingfisher

URLから画像取得に使うやつ。

View

SnapKit

AutoLayout。これがなきゃ始まんない。

IGListKit

Instagramが提供する、高速で柔軟なリストをUICollectionViewで実現するためのライブラリ。

Eureka

SideMenu

NextGrowingTextView

UITextView-Placeholder

UITextViewにplaceholderを拡張してくれる。

ActiveLabel

TagListView

YPImagePicker

PopupDialog

TransitionableTab

FloatingPanel

UPCarouselFlowLayout

ImageViewer

Nantes

強化版UILabel。旧TTTAttributedLabel。

PanModal

Slackアプリの下からニョキって出てくるSemi-Modal。

Loaf

Gallery

JTAppleCalendar

smooth-scroll

Pixel

RichTextView

LaTeX, HTML, Markdown, YouTube/Vimeo Linksに対応したTextView。

WeScan

HGCircularSlider

Charts

SwiftCharts

FSPagerView

XLPagerTabStrip

TOCropViewController

画像のトリミング・回転・拡大縮小などの操作を行える。

SkyFloatingLabelTextField

Utility

Chameleon

色に関することならなんでもお任せって感じのすごいやつ。

Then

initializerのsyntactic sugar。
いつものこれが、

let label: UILabel = {
  let label = UILabel()
  label.textAlignment = .center
  label.textColor = .black
  label.text = "Hello, World!"
  return label
}()

こうなります。

let label = UILabel().then {
  $0.textAlignment = .center
  $0.textColor = .black
  $0.text = "Hello, World!"
}

RxGesture

Gestureに関するRx拡張を提供。

RxKeyboard

キーボードに関するRx拡張を提供。

RxViewController

UIViewControllerのライフサイクルに関するRx拡張を提供。

RxDataSources

UITableViewUICollectionViewのdataSourceを提供。

ReusableKit

UITableViewUICollectionViewの再利用の部分を簡潔に書けるようになります。

SwiftyStoreKit

In App Purchasesに関する便利なライブラリ。

Siren

強制アップデートを簡単に実装できる。

SwiftLocation

位置情報を簡単に扱うためのライブラリ。

Dismissable

プルダウンでdismissできるようになります。

SlackKit

SlackAPIのラッパーって感じ。

Ballcap-iOS

Cloud Firestoreをいい感じに扱えるようにしてくれる。

Tool

SwiftLint

Linter。SwiftLint標準のものに加え、独自のルールも追加できるので、チーム内の約束事をこれで強制したりもできます。

SwiftFormat

Formatter。ビルド時にインデントや改行など諸々のフォーマットを揃えてくれる。共同開発時によく用います。

Wormholy

ネットワークのログが詳細に見れる。

おわりに

説明雑なのですが自分のメモ用なのでご了承ください。
こんな便利なライブラリありますよーっていうの大歓迎なのでぜひぜひ教えてください。