Lean Engineer

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

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

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

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

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

Pythonのvirtualenv(venv)がVisual Studio CodeのPythonの選択肢に現れてくれない問題

Pythonの開発環境をVisual Studio Codeに移行しようと思っているのだが、なかなかハードルがある。もともとPyCharmというとても便利な有料IDEを使っていたので、それに比べるとやっぱり見劣りしてしまう。PyCharmのママでもいいのだが、年額でそれなりにお値…

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動くのは便利だ。それ…

Macでpip install -U pipがSSLエラーになる

しばらくPythonを触ってなかったら、pipがうまく動かなくなっていた。定期的にメンテナンスしないとダメ。 ➜ ~ pip install --upgrade pip Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: …