anz blog

DeallocationCheckerをv3.0にあげたときの注意点

2019-01-30 #Swift

ざっくりまとめ。

  • DeallocationChecker を v2.0.1 から v3.0 をあげた
  • dch_checkDeallocation() は deprecated だと怒られる
    • DeallocationChecker.shared.checkDeallocation(of: self) に修正
  • error とか warning とかはでないけどまだやることがある!
    • DeallocationChecker.shared.setup(with: .alert) が必要

です。

環境

  • Xcode v10.1
  • Swift v4.2

DeallocationChecker をアップデートする!

DeallocationChecker をつかっているのだけれど、
v2.0.1 から v3.0 へアップデートをしました。

そのあと、ビルドをしたときに
dch_checkDeallocation() は非推奨という Swift Compiler Warning がでるので、
v3.0 に対応した書き方に修正しました。

DeallocationChecker.shared.checkDeallocation(of: self) に書き換えるだけという簡単な修正です。
これで再度ビルドをすると warning は無事きえます💪

それだけで v3.0 対応はおわりじゃない!

これで warning も error も何も出ないですし、実行自体も問題なくできますが...
これだけでは実はダメなのです!

v2.0.1 では必要のなかったセットアップが必要になります。
AppDelegate 等で...

#if DEBUG
DeallocationChecker.shared.setup(with: .alert)
#endif

という記述が必要になります!

ちょっと確認で、循環参照させてみたけど何故か怒られなかったので気づきました(笑)
何も起きないことが正常なライブラリですから、、、こういうの気づきにくいですね。

リリースノートをちゃんとみる人はすぐに気づくでしょうけど
ミニマムな機能のライブラリですし、そんな機能もかわらないでしょ。。っと確認を怠ったので、
あやうく全く意味のない状態のまま開発を続けるとこでした。。

v3.0 から導入する人は大丈夫でしょうけど、僕みたいに雑にアップデートした人は気をつけてください!(笑)

v3.0 のリリースノート