ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Your Podfile requires that the plugin `cocoapods-keys` be installed. Please install it and try installation again. が発生した際の対処法

f:id:mbaasdevrel:20190122165016p:plain

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 を付けるのを忘れずに!

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。