古いReact NativeのプロジェクトをXcode 10.2でbuildする
Published in
3 min readJun 18, 2019
先日、古いReact Native(0.55.3!)のプロジェクトをbuildする必要がありました。
私が普段使っている端末は、もうXcode10.2しか入っていなかったため、たぶん駄目だろうな、と思いながらもbuildしてみました。
$ ./node_modules/.bin/react-native run-iosCould not find iPhone 6 simulator
予想通りだめでした。
buildエラーどころかbuildが始まってもいない…。
シミュレーターを探す部分が古くなっているようで、そこを書き換えれば動くようです。
この記事を参考に「node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js」の「// Making sure the version of the simulator is an iOS or tvOS (Removes Apple Watch, etc)」 の if
を書き換えました。
結果は……
$ ./node_modules/.bin/react-native run-iosCould not find iPhone 6 simulator
なぜだ……
動かしながら中身を見ていると、その後の if
文が期待しているJSONと形式が変わってそうだったので、そこも書き換えてみました。
// Skipping non-available simulator
// if (simulator.availability !== '(available)') {
if (!simulator.isAvailable) {
continue;
}
結果は……
$ ./node_modules/.bin/react-native run-ios** BUILD SUCCEEDED **
行けました!!
真っ当な対応はRNのバージョンアップだと思いますが、やむを得ない場合の参考になれば幸いです。