[Swift] SwiftDate を v5.x に上げるときの注意事項

ざっくりまとめ。

  • SwiftDate v5.0.0 がリリースされている!
    • 4.x 以前のバージョンから上げる場合は注意が必要です
  • DefaultRegion の扱いが変わっています
    • DefaultRegion を明示的に指定しましょう

です。

メジャーバージョンがあがると気をつけないとね

つい先日 SwiftDate の v5.0.0 がリリースされていますが...
メジャーバージョンがあがっているということで、アップデートするひとは注意が必要です。

DefaultRegion (timezone / locale) の扱いが変わった

v4.x 以前は端末に設定されている Region を DefaultRegion としていたのが、v5.x から変わったらしいです。
なので、timezone とか locale あたりが内部的に変わっている可能性があります。

メソッドのリネーム々を終わらせてビルドがとったからといって、v5.x への移行ができたかというとそうも言えないというわけです。
まぁ以前のバージョンから明示的にそこらへん設定していたひとは大丈夫でしょうけど。

どうするのか

AppDelegate.swift あたりで、DefaultRegionの設定を端末に設定されているものとあわせると、v4.x 以前と同様の挙動になるようです。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    SwiftDate.defaultRegion = Region.local
    return true
}

こういう感じです。

ま、ReleaseNote にかかれていることなのですけど!(笑)
あまり見る癖がない人は気をつけてくださいね!ってことで👍