[CocoaPods] Git LFSを導入する

Objective-C
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

問題

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

バージョンどうしますか?と聞かれたので、とりあえずすべて消した。
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

setupは結構時間がかかるので、一息つきながら待ちます。

6. ライブラリの再インストール

とりあえずプロジェクト配下にあるPodfile.lockPodsフォルダを全て削除。
再度$pod installする。
(今まで2Mくらいしかなかったプロジェクトフォルダが200Mを超えました。ちゃんとインストールできている感じある。)

すると、これで、無事、エラー出ずビルドできるようになった!おめでとうわたし!!!!

7.バックアップの削除

# 新しいファイルが生成されていることを確認
$ 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/

コメント