LoginSignup
14
9

More than 5 years have passed since last update.

react-nativeの再起動の仕方を実務でreact-native書く人がまとめてみた

Last updated at Posted at 2018-02-20

alt
原因不明のエラーが、再起動したらあっさり動いた。我々が初心者の頃からよくあることだと思う。
react-nativeの再起動のやり方を実務でreact-nativeを使ってる人間がまとめてみた。

基本1

シュミレーターとターミナルを終了。
(ターミナルも必ず終了する)
react-native run-ios

基本ですね。まずこれを試したい。

基本 2

rm -rf node_modules
npm cache clear
watchman watch-del-all
npm install

よくエミュレーターで表示される手順ですね。とりあえず困ったらこれをやってもいい。

iosのシュミレーターを初期化する。

シュミレーターを開いている時、上にSimulator>Reset Content and Settingsでシュミレーターにインストールされたアプリを削除できる。
例を挙げると、
1 debugを開始すると、Runtime is not ready for debuggingと出てエラーになってしまう時
2 シュミレーター上のExpoでCRNAを動している時に、Expoの画面上で、白い画面のエラーが出る時。
などだ。こういったエラーはシュミレーターの環境をリセットすると直る。
シュミュレーターは定期的にリセットしたい。

xcodeからリビルドする

rebuildを選択、実行
その後、左上の▷でシュミレータを起動

iosシュミレーターのホームからアプリを削除する。
command + shift + H
で、現在のアプリからホームに戻れるので、削除したいアプリを、長くクリックしましょう。そうすると左上にxが現れるのでタップする。

実機テスト編

実機にアプリをインストールした後、スマホを振ることでメニューを開くことが出来る。
android実機の場合ターミナルから
adb shell input keyevent 82
でメニューを開けるので、エイリアスを作っておくと便利。
そこでリロードで擬似再起動が出来る。
またandroidの実機だと、キャッシュを削除することでアプリをインストールした時の状態に戻せる

android実機での再起動は

cd android && gradlew clean
このコマンドは実機にインストールする時生成した、android/build, android/app/buildという二つのファイルを削除してくれる。
その後は
cd .. && react-native run-androidだ。

またusbケーブルを外すと、 サーバーとの接続が切れてリロードが出来なくなる。
usbを外してデバッグしたい時は、スマホを振ってメニューを出し、devSettingsをタッチ次にDebug server host & port for deviceをタップして、
199.166.0.1:8081などとパソコンのipアドレスを入力しよう。
これでリロードが出来るようになる。
一度usbケーブルを外してしまうと、再接続してもリロードは出来ない。
もう一度react-native run-androidをしよう。

ios編

pod関連でおかしい時
iosフォルダの中のPods ディレクトリ削除
Podfile.lockも削除
modified my Podfile to target iOS 9
cd ios && pod install
cd ../
react-native link
ただし、気軽なpod updateとreact-native-linkは全てを破壊するので注意

番外編

react-native link忘れてないよね? 
yarnは?
スマホのブラウザからPCのAPIサーバーにアクセスできる?
(アクセスできなかったらスマホとPCが同じwifiを使っているか確認)
僕はこれで3時間無駄にしたよ。

他にもいいやり方があればコメントで教えてください。

14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9