読者です 読者をやめる 読者になる 読者になる

文字っぽいの。

文字を書いています。写真も混ざります。

Incompatible library version: Foo requires version 2.0.0 or later, but HOGEHOGE provides version 1.0.0 というエラー解決した。

前提

エラー

 シミュレータでは動くのに、実機に転送して起動するとこういうエラーが出て落ちる。そして、SwiftyJSONのバージョンは1.0.0じゃない。

dyld: Library not loaded: @rpath/SwiftyJSON.framework/SwiftyJSON
  Referenced from: /private/var/mobile/Containers/Bundle/Application/CC8759F5-A501-400C-93A8-DCEE3BFE4770/XXX.app/XXX

Reason: Incompatible library version: Foo requires version 2.0.0 or later, but SwiftyJSON provides version 1.0.0

対策

 Clean Build Folderをしたら直った。KeyBindではCommand-Option-Shift-Kに割り当てられていて、GUIで操作する場合は、Productメニューの中でOptionキーを押すと表示がこう変わるので、選べば良い。

小言

 CocoaPodsを0.38系にバージョンアップしたら出てきたので、CocoaPodsが悪いのかと思ってバージョン変えまくって疲れた。Podfileの中からエラーを吐くライブラリをどんどん消していったら、昔入れたけどもう消したライブラリが無いって怒られてたので、「なんかキャッシュ残ってそう」と思って調べたら見つかった。完全にCocoaPod周りを疑って、バージョンチェックがおかしいのかな?とRubyのコード読んで1日消費したので、とにかく辛かった。