初投稿となります。
iOSやAndroidの開発や保守等の業務を主に行っています。
iOSとAndroidを行き来したりしているのでよく忘れる内容や頻繁に起こらない事を主に書いていこうと思います。
本題
毎年恒例のiOSアップデートの対応ですが、久々にアップデート対応を行うことになったので
よく使われるライブラリの修正と参考にしたものを備忘録として残しておこうと思います。
##ライブラリ
よく使われるものは以下になるかと
※バージョンは2021/11/30時点のものを記載しています
Carchage
- Rx Swift (6.2.0)
- https://github.com/ReactiveX/RxSwift
- XCGLogger (7.0.1)
- https://github.com/DaveWoodCom/XCGLogger
- SwiftyJSON (5.0.0)
- https://github.com/SwiftyJSON/SwiftyJSON
Pods
- R.swift (6.0.0)
- https://github.com/mac-cain13/R.swift
- Firebase (8.9.0)
- https://github.com/firebase/firebase-ios-sdk
CarthageとPodsの更新は各ライブラリファイルのバージョンを変更して更新するだけなので割愛
ライブラリ依存のコード修正
変更点は少なかったですが対応した修正の概要は以下
-
Swift5
-
Array参照のindex(of:)/index(where:)がfirstIndex(of:)/firstIndex(where:)に変更されているため置き換え
厳密にはswift4.2以降からの変更ですが、警告が発生していたので修正 -
Rx Swift
-
Single実行時の戻り値がSingleEventからSingleに変更されているため、
失敗時の.error, onErrorの記述を.failure, onFailureに置き換え -
Single実行のエラー時、catchの記述がcatchErrorからcatchに変更されているので置き変え
-
.observeOnの記述が.ovserveに変更されているため置き換え
-
R.Swift
- プロジェクト設定が変更になったためTARGETSのBuild Phases内からBased on dependency analysisのチェックを解除し、
Inout Filesに記述されている$TEMP_DIR/swift-lastrunを削除する
ざっくりとはこんな感じです。
久々にライブラリ周り触ったので調査にやたら時間かかりました。
最終的にはライブラリのGitHub見に行くことが多かったのでもう少し英語読む練習しないとなぁ・・・