React Nativeで作成したアプリを別のMacでシミュレータで開発をしようとしたところ、次のようなエラーが発生しました。
** BUILD SUCCEEDED ** The following commands produced analyzer issues: Analyze Base/RCTModuleMethod.mm normal x86_64 (1 command with analyzer issues) Installing build/Build/Products/Debug-iphonesimulator/app.app An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2): Failed to install the requested application An application bundle was not found at the provided path. Provide a valid path to the desired application bundle. Print: Entry, ":CFBundleIdentifier", Does Not Exist Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/app.app/Info.plist Print: Entry, ":CFBundleIdentifier", Does Not Exist
エラーの内容は、”:CFBundleIdentifier”というパラメータが見つからないというエラーです。
私の環境では解決しませんでしたが、次のような解決方法があるそうです。
XCodeプロジェクトの設定を変更する方法
この方法では、Info.plistファイルが想定したパスにない問題を解決することで、エラーが発生しなくなります。
具体的には、次のようにreact-nativeのコマンドを用いて解決します。
# react-native upgrade
このコマンドを実行すると、各プロジェクトファイル(Android用、iOS用)を更新するかを問われます。4回質問され、前半2問はAndroidの設定ファイル、後半2問はiOSの設定ファイルを更新するので、ここでは後半2問に対してyと回答しました。
その後、改めて、react-native run-iosと実行します。
XCode上でプロジェクトの設定を変更する
react-nativeのプロジェクト内にiosという名前のディレクトリがあり、そのディレクトリ配下に(プロジェクト名).xcodeprjというファイルがあります。それをクリックして、XCodeを立ち上げます。
そして、メニューのfile > Project Settingsをクリックしてダイアログを開きます。
さらに、そのダイアログにあるAdvancedというボタンをクリックして開くダイアログの設定をXCode defaultからCustom “Relative to Derived Data”を選択し、次のようにbuildというディレクトリをBuild/Productsの前に追加します。
設定変更後、XCodeを閉じて、react-native run-iosとコマンドを実行します。
XCode上で起動する
私が解決できた方法は、この方法です。この方法は全く難しくなく、先ほどのようにXCodeでプロジェクトを立ち上げ、適切なシミュレータを選択しrunボタンを押すだけで、エラーが発生することなくプロジェクトを起動することができました。
参考サイト