背景
iPhone7@Xcode14.3.1で実機テストを実施しようとした(再生ボタンをクリックした)ところ、「Please reinstall cocoapods with bundle exec pod install
」というエラーが発生しました。エラーの対処方法を紹介します。
環境
macOS Monterey:12.1
Ruby:3.0.6
Rails:6.1.0
React Native:^0.74.3
expo SDK:~51.0.20
bundler:2.5.3、2.4.13(default:2.4.13)
node:16.20.0
npm:8.19.4
yarn:1.22.19
webpack:4.46.0
※エディターは、VSCodeを使用しています。
※デプロイ先は、herokuです。
問題
・Xcodeのログに、以下のエラーが発生しました。
Codegen did not run properly in your project. Please reinstall cocoapods with `bundle exec pod install`.
※Xcodeのログは、「View→Navigators→Reports」で表示されます。画面左のメニューの「Build」を選択した後、「Errors Only」タブをクリックするとエラーが抽出されます。
「bundle exec pod install」はRubyのコードです。
フロントエンドはReact Native@Expoで構築しています。
VSCodeのターミナルでは「bundle exec pod install」は実行できません。
解決策
CocoaPodを再インストールしました。
VSCodeのターミナル(プロジェクトフォルダ直下)で、以下のコードを実行しました。
#npmキャッシュのクリア
npm cache clean --force
#node_modulesディレクトリとPodfile.lockの削除
rm -rf node_modules ios/Pods ios/Podfile.lock
#npm依存関係の再インストール
npm install
#または
yarn install
#CocoaPodsのキャッシュのクリア
pod cache clean --all
#CocoaPodsのインストール
cd ios
pod install
#npx pod-installの使用
cd ..
npx pod-install
結果
Xcodeプロジェクトファイル(.xcodeproj)ではなく、作成されたワークスペースファイル(.xcworkspace)を使ってXcodeプロジェクトを開きます。
Xcodeの再生ボタンをクリックすると、エラーが発生することなく、実機テストがスタートしました。
(ポップアップで「Bundle Succeed」表示されます)
まとめ
エラー解消方法をGPT-4oで模索した際に、頑なにGemfileを使用したCocoaPodを再インストール提案されました。ハルシネーションが発生していたかと思います。
Xcodeでの段階で、「Please reinstall cocoapods with bundle exec pod install
」というエラーが発生した際に、本記事の解決策がお役に立てたのであれば嬉しいです。
(そもそも、古いバージョンのVcodeと古い機種iPhone7で実機テストしてごめんなさい)