【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

sample1.gif


UITextView-Placeholder

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


ActiveLabel


TagListView


YPImagePicker


PopupDialog


TransitionableTab

move.gif


FloatingPanel


UPCarouselFlowLayout


ImageViewer

single.gif


Nantes

強化版UILabel。旧TTTAttributedLabel。


PanModal

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


Loaf


Gallery

image.png


JTAppleCalendar


smooth-scroll


Pixel

image.png


RichTextView

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

image.png


WeScan

WeScan.gif


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

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

image.png


おわりに

説明雑なのですが自分のメモ用なのでご了承ください。

こんな便利なライブラリありますよーっていうの大歓迎なのでぜひぜひ教えてください。