Lean Engineer

リーンエンジニア〜効率的に実験しながら、技術を学ぶブログ

ReactNative

nodebrew + sentryを使っているとReactNativeのbuildができない

ReactNativeのクラッシュログの収集にはsentry.ioを使っている。無料利用可能であり、個人開発にはぴったりだ。もちろん有料にすれば、さらに十分な機能を利用することができる。 さて、ReactNativeで使うnodeをnodebrewに移行した。nodeのバージョン管理を…

react-native-sortable-listviewでwrapperLayout.pageYでクラッシュする

ReactNativeでユーザーが自由のドラッグでソートできるような機能を提供している。そのために、react-native-sortable-listviewというライブラリを利用させていただいている。こんな感じになる。 とても便利なライブラリなのだが、たまにクラッシュする。以…

ReactNativationでネイティブからのinitialPropertiesを扱う

ReactNativeで開発するときのルーターとしては、ReactNavigationを使うことが多いだろう。 さて、そうすると、AppRegistry.registerComponentされるComponentはReactNavigationのComponentであるため、initialPropertiesでネイティブから受け取った値を、Rea…

ネイティブアプリからReactNativeに情報を渡す方法

ネイティブアプリからReactNativeに情報を渡すには、initialPropertiesに渡してあげれば良い。すると、表示するReactNativeのmoduleのpropsに情報が入る。 RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"App…

ReactNativeでハイブリッドでプロダクション環境を設定する

ReactNativeのハイブリッドをリリースしようと思うと、jsをバンドルし、Xcodeに埋め込む必要がある。 また、開発時点だと以下のようになっているが、localhostからjsを読み込んでいるので、ここも修正する必要がある。 NSURL *jsCodeLocation; jsCodeLocatio…

複数枚のReactNativeViewを、ネイティブアプリに表示する

ReactNativeをネイティブアプリに表示する方法を書いた。表示するだけのページなどであれば、iOS/Androidが両方同じソースコードで管理できるため便利だ。 さて、複数の固定ページを表示するには、どうしたらいいか?それは、ReactNative側のindex.jsで、App…

【iOS編】ReactNativeをネイティブアプリとハイブリッドに使ってみる

まずは、ネイティブアプリとのインテグレーションをやっていく。僕は、iOSのエンジニアなので、まずはiOSから。そのうち、Androidもやりたいと思っているが、Androidはメルカリの人がよいチュートリアルを書いている。 ReactNativeのインテグレーションは、…

ReactNativeでハイブリッドアプリのメリット・デメリットを考える

ReactNativeはiOS / Androidアプリを同一コードで作れる便利なライブラリで、FacebookやInstagramなどが採用している。 ReactNativeで一からアプリを作る場合は、とても便利である。何個か簡単なアプリを作ってみたが、同一コードで両OS動くのは便利だ。それ…

ReactNative 0.56.0へのアップデートがツラかったので、対応したことをメモ

ReactNative 0.56.0でAndroidの予想変換時の絵文字入力でのクラッシュが治ってるとのことで、「さっそくアップデートだ!」と意気込んでいたのだが、泥沼だった。いろいろあったので、対応したことをメモしておく。アップデートはreact-native-git-upgradeコ…

ReactNative 0.56(0.54以上)でiOSの日本語入力の変換が動かない問題

「人狼ゲームマスター」という人狼ゲームのゲームマスターをやってくれる、超絶便利なアプリ(自画自賛)を作っているのだが、ReactNativeを0.53からアップデートしたら、iOSですごくバグって困った。ご不便おかけしました。ちなみに、Androidでは同問題は起こ…

ReactNativeでcocoapodsを1.4.0から1.5.3に上げたら、ビルドができなくなる問題

ReactNativeの開発で、ネイティブのライブラリを使うためにiOSはcocoapodsを利用している。cocoapods 1.4.0では上手く動いていたのに、1.5.3にアップデートするとiOSのビルドが通らなくなってしまった。エラーは以下、 'React/RCTDefines.h' file not found …

ReactNativeのハイブリッドアプリを作ってるときに、command + Rでロードできない問題を解決

すでにネイティブで作っているアプリの一部をReactNativeにして、iOS/Androidの開発を楽にしたいという実験をやっている。しかし、いろいろ難所があって、なかなか難しい。 で、こまったのが、ReactNativeのViewがネイティブアプリに表示されたのは良いもの…

ReactNativeでXcodeのコンソールにSocketのログが出すぎる問題

ReactNativeをXcodeでビルドして、Xcodeのコンソール見ていると、すごい勢いでログが表示されていた。こんな感じ。 nw_connection_get_connected_socket 1 Connection has no connected handler nw_connection_get_connected_socket 2 Connection has no con…