記録。

めも。

realm 3.1.1でたくさん警告が出た

iosアプリ開発でrealmをインストールしてビルドしたら、25個くらいの警告が発生したので、
その時の対応をメモ。

実際に以下の感じで警告が出てきた。。。

f:id:jksdaba:20180225210419p:plain

ちなみにこの時の環境情報は以下の感じ

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して、ビルドしたら、綺麗に警告がなくなった。

参考
stackoverflow.com


cocoaPodsがデフォルトでCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELFを有効にしていることで発生しているとのこと。
それに対してrealmが対応していなかったということらしい。
次のrealmのリリースで解消されることを願います。

ちなみにCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELFは警告に関してObjective CとARCで定義している項目の1つで、
ブロック内で暗黙的に"self"を参照しているときに警告を出す設定のこと。

参考
qiita.com