iosのアプリ開発でrealmをインストールしてビルドしたら、25個くらいの警告が発生したので、
その時の対応をメモ。
実際に以下の感じで警告が出てきた。。。
ちなみにこの時の環境情報は以下の感じ
xcode : 9.1
cocoapods : 1.4.1
realm : 3.1.1
一個ずつ潰していかなきゃいけないのかな〜とか思っていたけど、
よくよく警告を見てみると同じようなことばっかり書いてあった。
それで調べて見たら、以下の対応方法で解消することができた。
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF'] = false end end end
上記をpodfileに書いて再度 pod updateして、ビルドしたら、綺麗に警告がなくなった。
cocoaPodsがデフォルトでCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELFを有効にしていることで発生しているとのこと。
それに対してrealmが対応していなかったということらしい。
次のrealmのリリースで解消されることを願います。
ちなみにCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELFは警告に関してObjective CとARCで定義している項目の1つで、
ブロック内で暗黙的に"self"を参照しているときに警告を出す設定のこと。
参考
qiita.com