NCMBのiOS SDKをCocoaPodsで利用している人は多いかと思います。そしてCocoaPodsの中で便利なのがアプリケーションキーやクライアントキーをコードから隠蔽してくれるcocoapods-keysです。
筆者環境ではrbenvを使っていたのですが、ある時 pod install
を実行すると下記のエラーが出るようになりました。
$ pod install [!] Your Podfile requires that the plugin `cocoapods-keys` be installed. Please install it and try installation again.
今回はその解決法です。
結論
pod install
ではなく bundle exec pod install
を使えばOKです。
試したこと
元々CocoaPodsをHomebrewでインストールしていたので、それを削除してRubygemsベースにしました。
$ brew uninstall cocoapods Warning: Calling MacOS.prefer_64_bit? is deprecated! There is no replacement. Please report this to the hybridgroup/tools tap: /usr/local/Homebrew/Library/Taps/hybridgroup/homebrew-tools/gort.rb:6 Uninstalling /usr/local/Cellar/cocoapods/1.4.0... (8,818 files, 13.0MB)
そしてインストールし直します。この時、Gemfileでインストールする方が良いでしょう。
source 'https://rubygems.org' gem 'cocoapods' gem 'cocoapods-keys'
インストールは bundle
コマンドで行います。podのパスは変わっています。
$ which pod ~/.rbenv/shims/pod
この状態でも直っていません。
$ pod install [!] Your Podfile requires that the plugin `cocoapods-keys` be installed. Please install it and try installation again.
でも bundle exec pod install
であれば問題なくなりました。
$ bundle exec pod install CocoaPods-Keys has detected a keys mismatch for your setup. What is the key for applicationKey
ついつい省略しがちな bundle exec
ですが、いざという時に動かないと原因を調べるのに時間がかかります。CocoaPodsを使う場合には bundle exec
を付けるのを忘れずに!