Skip to main content

iOSアプリ開発で導入すべきライブラリまとめ

tkglingAbout 2 minProgrammingSwiftSwiftUI

ライブラリまとめ

何らかのアプリをつくろうとしたとき、自分で全部の仕組みを作るのは大変ですし車輪の再発明になりがちです。

なので、既に公開されている便利なライブラリ・フレームワークがあるならそれを利用するべきです。

Web 系

BetterSafariViewopen in new window

ライセンスSwift Package Manager
MIT対応

アプリ内ブラウザを実装しようと考えているならまずこれを利用しましょう。

アプリ内ブラウザだけでなく WebAuthenticationSession を利用した認証にも対応しているので URLScheme を利用した OAuth もこれだけで対応できます。

Info.plistに URLScheme とか設定する手間も省けるので、是非導入を検討してみてください。

Alamofireopen in new window

ライセンスSwift Package Manager
MIT対応

HTTP/HTTPS 通信の大御所ライブラリです。非同期通信に対応しており、ネットワークから何かをダウンロードしたい・アップロードしたいという場合にはこれを使えばほとんどすべてが解決します。

SwiftyJSONopen in new window

ライセンスSwift Package Manager
MIT対応

Alamofire で取得した JSON データはそのままでは Data 型なのですがそれを JSON 型に一発で変換することができる便利なライブラリです。

ただし、キー名指定などが面倒であれば Codable 準拠の構造体を定義して SwiftyJSON を使わずに変換してしまったほうが確実と言えます。

CombinExpectationsopen in new window

ライセンスSwift Package Manager
MIT対応

Combine を利用したコードはそのままではテストをパスしてしまうので、これを使って取得したデータが正しいかどうかをチェックできます。

UI 系

SwiftUIXopen in new window

ライセンスSwift Package Manager
MIT対応

UIKit では実装されているが、SwiftUI ではまだ足りていない部分などを補うためのライブラリです。

死ぬほど便利なので絶対入れること。

FontAwesomeSwiftUIopen in new window

ライセンスSwift Package Manager
MIT対応

FontAwesome5 のアイコンを SwiftUI から手軽に利用できるようにするためのライブラリです。

Apple 謹製のSF Symbolsopen in new windowを使うことが多いので、こちらのライブラリは使ったことがないのですが FontAwesome にしかないようなフォントを使いたい場合には良いかと思います。

PopupViewopen in new window

ライセンスSwift Package Manager
MIT対応

toast, float, defaultの三種類のポップアップを表示させることができるライブラリです。

SwiftUIChartsopen in new window

ライセンスSwift Package Manager
MIT対応

Chartsopen in new windowの SwiftUI 版みたいなライブラリです。Charts は SwiftUI に対応していないので SwiftUICharts は便利といえば便利なのですが、見た目がちょっと微妙な気がします。

SlideOverCardopen in new window

ライセンスSwift Package Manager
MIT対応

PartialSheetopen in new window

ライセンスSwift Package Manager
MIT対応

SwiftUI はデフォルトでは ModalWindow のサイズを変更できないのですが、自由なサイズの ModalWindow を表示するためのライブラリです。

SwiftUIRefreshopen in new window

ライセンスSwift Package Manager
MIT対応

pullToRefreshの機能を SwiftUI の View に対して実装してくれるがバグも多い。

最後にアップデートされたのが一年以上前なのでどうしても今すぐpullToRefreshが使いたい場合以外は利用しないほうが良い。後述するSwiftUI-Introspectを使って実装するか、Fork して自力でアップデートするのが良いかと。

画像系

URLImageopen in new window

ライセンスSwift Package Manager
MIT対応

SwiftUI の View は URL を指定するイニシャライザがないので URL 上の画像を利用するためのライブラリです。

バージョンアップされてやや使い方がわかりにくくなりましたが、今でもこれを利用しています。

Kingfisheropen in new window

調べていたらこちらも見つかったのでご紹介。

使ったことはないのですが、こちらの方がより直感的に使えそうな気はします。

その他

RealmSwiftopen in new window

ライセンスSwift Package Manager
MIT対応

iOS でアプリ開発をしてデータベースを利用するならこれを使うのが一番です。他に選択肢はないです。

KeychainAccessopen in new window

ライセンスSwift Package Manager
MIT対応

Keychain にアクセスするのはめんどくさいのですが、これを利用すればものすごく簡単に Keychain が扱えます。

セキュアなデータは UserDefaults やデータベースではなく Keychain に保存するようにしましょう。

SwiftyStoreKitopen in new window

ライセンスSwift Package Manager
MIT対応

In-app Purchase を実装するならまずこれを利用するのを検討しましょう。

SwiftUI でアクセスするとバグかなんかなのかやたらと反応が悪い時があるのですが、よくわかりません。

SwiftUI で課金処理をする際に StoreKit へのアクセス部分を書くのがとてつもなくめんどくさいのでこれを導入しておくと楽だと思います。

SwiftUI-Introspectopen in new window

ライセンスSwift Package Manager
MIT対応

一部の SwiftUI コンポーネントが UIKit との互換性があることを利用して、クロージャからそれらのプロパティにアクセスすることができるようにするライブラリです。

これを使えば大体なんでもできます。

PermissionsSwiftUIopen in new window

ライセンスSwift Package Manager
MIT対応

iOS では現在アプリに対して 12 の権限が与えられているのですが、それらを許可するか拒否するかのダイアログをパッと出してくれるライブラリです。

まだ使ったことはないのですが、カメラやマイクの権限を必要とするアプリを開発した際には使ってみたいなと考えています。

記事は以上。

Last update:
Contributors: tkgstrator