React NativeをXCode10でビルドする

色々試した結果のまとめ。

ビルドまでのまとめ

Expo(create-react-native-app)は使わない

create-react-native-app で生成したプロジェクトを npm run eject を使ってReact Nativeのプロジェクトに変換し、それをビルドしようとしたが、様々なエラーが出て、ビルドまで辿り着けそうになかったので、一旦使うのはやめることにした。通常の手法 react-native init your-project-name でプロジェクトを生成することにした

iOSのビルド

生成したプロジェクトをそのままビルドしようとしても出来なったのXCodeのプロジェクトの設定を変更した

FIles>ProjectSettingsからAdvancedボタン押下後の設定画面で下記を参考に設定

https://github.com/facebook/react-native/issues/7308#issuecomment-230198331

まだエラーが出る

アプリ自体のビルドに成功したが、エミュレータからアプリに起動後中の部分でエラーが出る。

先に書いたメモ参照。

verytired.hateblo.jp

雑感

Expoだけならさっくり動かせるが、アプリのビルドまでやると相当手間がかかる。Androidまでやるとなるとどうなることやら....

react-nativeのiosビルド後表示される 「bundling failed: Error: Unable to resolve module /../react-transform-hmr/lib/index.js」の対応

react-nativeを react-native run-iosiosエミュレータを起動させようとすると、赤い画面で「bundling failed: Error: Unable to resolve module /../react-transform-hmr/lib/index.js...」と表示されjsが走らなかった。

キャッシュをクリアしてやる必要がある模様。

キャッシュクリアで処理開始。

react-native start --reset-cache

この状態で別ウィンドウで

react-native run-ios

を実行してやると正常動作となった。

oh-my-fishのインストール中のエラー

oh-my-fishをインストールしようとして

Existing installation detected at /Users/username/.local/share/omf
Would you like to remove the existing installation? (y/N): <W> fish: No TTY for interactive shell (tcgetpgrp failed)
setpgid: Inappropriate ioctl for device

上記のようなエラーが出た場合

rm -rf ~/.local/share/omf
rm ~/.config/fish/conf.d/omf.fish

古いファイルを削除して対応する。

ref.

github.com

fish 導入

導入理由

現状zsh使っているけど、困りもしてないし思い入れも無いので、単なる気分転換での導入です。

導入

# fish入れる
$ brew install fish fzf ghq peco

# 末尾に /usr/local/bin/fish を追加
$ sudo vi /etc/shells

# デフォルトシェルを fish に変更
$ chsh -s /usr/local/bin/fish


# fisherman入れる
$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher

#oh-my-fish入れる
$ curl -L https://get.oh-my.fish | fish
$ omf install bobthefish

# テーマ変更用にフォント入れる
$ git clone https://github.com/powerline/fonts.git
$ cd fonts/
$ ./install.sh
# iTermなどのターミナルの設定画面から直接フォント指定する

# ブラウザからテーマを変更
$ fish_config

pecoでの履歴呼び出し

プラグイン追加

fisher add oh-my-fish/plugin-peco

~/.config/fish/config.fish に設定を書く

function fish_user_key_bindings
  bind \cr 'peco_select_history (commandline -b)'
end

Ctrl + R で履歴を呼び出す。

z / pecoでのディレクトリ移動

fishermanからzをインストール

fisher add jethrokuan/z

~/.config/fish/config.fish に処理を書く

function peco_recentd
        z -l | peco | awk '{ print $2 }' | read recentd
        cd $recentd
        commandline -f repaint
end

バインドを追加

function fish_user_key_bindings
  bind \x1b peco_recentd
end

Ctrl + [ で移動履歴を呼び出す。

import Optimize 拡張機能

intellIJにはあったimport文の最適化(optimize、不要なものを自動削除など)をしたかったのでそれに近いことが出来る拡張機能を入れた。

TypeScript Hero marketplace.visualstudio.com

ctrl+cmd+o で最適化