みかづきブログ・カスタム

基本的にはちょちょいのほいです。

突然React Nativeで作ったアプリがiOSの実機に転送できなくなったので調査する 📱

blog.kimizuka.org

最近は、Expoを挟まず直接ReactNativeでアプリを作っていたのですが、突然実機に転送できなくなったので、今後のためにメモを残しておきます。

環境

  • MacOS: 14.3.1
  • チップ: Apple M1 Max
  • Xcode: 15.2
  • iOS: 17.3.1
  • ReactNative: 0.73.4

npx pod-installでhermes-engineのインストールがコケる

実機転送ができなくなったので、検証用に新しいアプリを作り直したのですが、この現象にとても悩まされました。

github.com

結局、原因はわからないままなのですが、1週間ぐらい毎日検証していたら、ある日突然インストールがうまくいくようになりました。
バージョンに起因していたのかもしれないですが、謎です。なので、また同じ現象に悩む可能性があります。

実機(iPhone)に転送できない

yarn ios

で、実機に転送しようとすると、

xcodebuild: error: Unable to find a destination matching the provided destination specifier:

とエラーになってしまい、実機に転送ができずとても困りました。

「転送先が見つからない」的なことを言われているので、試しにpackage.jsonのscriptsに、

"ios:simulate": "react-native run-ios --simulator=\"iPhone 11\""

を追加し、

yarn ios:simulate

を実行すると、iOSシミュレータでは実行できることがわかりました。

なので、

"ios": "react-native run-ios"

を、

"ios": "react-native run-ios --device=\"📱\""

に変更し、

yarn ios

を実行したところ、無事に実機に転送できるようになりました。(📱は僕のiPhoneのデバイス名です)
今後は、転送先を指定しようと思います。