問題
CococPodsでインストールしたライブラリ(Clarifai)の関数を使おうとしたらビルドエラーになった。
warning: ignoring file ****, file was built for unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F ) which is not the architecture being linked (x86_64):
Undefined symbols for architecture x86_64:
error: linker command failed with exit code 1 (use -v to see invocation)
原因
(そもそも使い方をちゃんとしていなかった)
Git LFSが必要なライブラリだったのに、CocoaPodsにGit LFSが適応されていなかった?ために、ライブラリがちゃんとダウンロードできていなかった。
($pod install
時にはエラーは出ない)
100Mを超えるファイルはGitで扱えないらしいので、大容量のライブラリではGit LFSを使っているものがあるようです。
解決策
書いてある手順通りにインストールする。当たり前。笑
https://github.com/Clarifai/clarifai-apple-sdk
Git LFS インストール & CocoaPods 再インストール 手順
すでにCocoaPodsがインストールしてあって、新たにGit LFSが必要な場合、CocoaPodsの再インストールが必要。
1. CocoaPodsのファイルをバックアップ$ mv ~/.cocoapods ~/cocoapods
$ mv ~/Library/Caches/CocoaPods ~/CocoaPodsCaches
2. CocoaPodsをアンインストール$ sudo gem uninstall cocoapods
$ mv ~/.cocoapods ~/cocoapods
$ mv ~/Library/Caches/CocoaPods ~/CocoaPodsCaches
$ sudo gem uninstall cocoapods
バージョンどうしますか?と聞かれたので、とりあえずすべて消した。in addition to the gem? [Yn]
と聞かれたので、よくわからずY
にした。
(よく確認しないところが私の悪い癖)
3. Git LFSをインストール
brewはないので手動でインストール
https://git-lfs.github.com/
よりファイルをダウンロードしてきて、フォルダ内に含まれるinstall.sh
を実行。
4. PC再起動
一応。
5. CocoaPodsの再インストール$ sudo gem install cocoapods
$ pod setup
$ sudo gem install cocoapods
$ pod setup
setupは結構時間がかかるので、一息つきながら待ちます。
6. ライブラリの再インストール
とりあえずプロジェクト配下にあるPodfile.lock
とPods
フォルダを全て削除。
再度$pod install
する。
(今まで2Mくらいしかなかったプロジェクトフォルダが200Mを超えました。ちゃんとインストールできている感じある。)
すると、これで、無事、エラー出ずビルドできるようになった!おめでとうわたし!!!!
7.バックアップの削除# 新しいファイルが生成されていることを確認
$ ls ~/.cocoapods
$ ls ~/Library/Caches/CocoaPods
# バックアップを削除
$ rm -rf ~/cocoapods
$ $ rm -rf ~/CocoaPodsCaches
参考
# 新しいファイルが生成されていることを確認
$ ls ~/.cocoapods
$ ls ~/Library/Caches/CocoaPods
# バックアップを削除
$ rm -rf ~/cocoapods
$ $ rm -rf ~/CocoaPodsCaches
https://github.com/BlinkID/blinkid-ios/issues/26
https://qiita.com/saku/items/3374f43876a9448766ac
http://blog.yukim.xyz/post/2015-09-18-how-to-uninstall-cocoapods/
コメント