2019-06-19に更新

【禅Do】利用しているライブラリについて

導入したライブラリについて

とりあえず当時、Carthageの情報が結構出ていて使いやすそうだったので
基本的にCarthageを利用してインストールする方針でやっていた。
その中で対応していないものはCocoaPodsを利用するか、直接ソースを入れる形にした。

Carthageで入れたもの

  • SwiftDate
    • リマインド機能の日付操作の為に導入
  • Bond
    • リアクティブプログラミング的なものを使ってみたかった為
    • 全体設計の見通しの良さ向上の為など
  • Eureka
    • 設定画面でリスト型テーブルやForm作成を簡単にするための導入
  • Log
    • 開発用途。デバッグのしやすさ向上の為
  • Quick
    • 開発用途。テストコードを書く為(なおちゃんとテストコード書いてない模様)
  • Nimble
    • 開発用途。テストコードを書く為(なおちゃんとテストコード書いてない模様)

CocoaPodsで入れたもの

  • firebase-ios-sdk
    • (今もかもだけど)当時モバイルのアナリティクスとしてイケてる感じだった為導入
    • ユーザ動向を知るため

直接入れたもの

導入ライブラリのアップデート

とりあえず当然ビルドが通らなくなってため、各ライブラリの最新版を利用するように
Cartfileを書き換えてアップデートしてみた。
ただそもそも、Carthageの使い方を忘れていたので、思い出すために下記記事などを参考にした。

Carthage について
Carthage Tutorial: Getting Started

さらに元々、Carthageディレクトリ以下のBuild/Checkoutsもgit管理下においていたが、
ライブラリアップデートを何回も試してる時に、いちいち削除が面倒になったのと
下記の記事を読んだので、git管理化から外すことにした。

CocoaPods・Carthageでインストールした成果物はバージョン管理に含めるべきか?

アップデート方法

利用しているライブラリのうちほとんどは、Swift3へのアップデート対応等がされていたが
Logライブラリだけはメンテが止まっていたので、forkして対応することにした。
(代替のものを探したが方が良いが、とりあえずビルドを通すのが第一目標なのでそのまま利用)

直接ソースを入れるタイプのものも、Carthage対応されるようになっていたので
Carthageを利用してインストールする方式に変更した。

メンテナンスされているライブラリはバージョン指定を外して
最新版をインストールするようにした。

下記はSwiftのバージョンを3にして carthage update --platform iOS
問題なく実行できるようになった時点でのCartfile。

# Use libraries
github "malcommac/SwiftDate"
github "SwiftBond/Bond"
github "xmartlabs/Eureka"
github "Quick/Quick"
github "Quick/Nimble"
github "thii/FontAwesome.swift"
github "DylanVann/DatePickerCell" ~> 1.0

# Own repos.
github "stlwolf/Log"

備考

  • carthageでのインストールが成功するところまで行き、Xcode上でライブラリを
    利用しているコードでErrorになってる箇所を修正することができる状態にはなった。
  • Bondライブラリがアプリに入れた時期から大きな変更が入っているので、利用方法を含めて
    再度使い方を調べないと最新版のコードを利用できそうにないことが判明。(ReactiveKitに組み込まれてる?)
    公式Docと下記あたりを参考に別途キャッチアップする。
    Bond Tutorial: Bindings in Swift | raywenderlich.com
    Bond, SwiftBondを使ってみよう! - Takahiro Octopress Blog
ツイッターでシェア
みんなに共有、忘れないようにメモ

view_list Swift2.3で作った個人開発アプリをSwift5対応にする
第1回 【禅Do】Swift2.3のアプリをSwift5対応にしたい
第2回 【禅Do】利用しているライブラリについて

stlwolf

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント