新アプリ「カレイドカメラ」をリリースしました。
前作「カレイドツクール」のカメラ版ですね。
カレイドスコープ(万華鏡)の写真を撮るアプリです。
React Native(Expo)で端末の状態を気にすることは少ないです。
以前のカレイドツクールではOpenGL
関係で復帰処理が必要でしたが、ライブラリで復帰直後に発火するイベントがあったためそれを使っていました。
今回はカメラのリロードが必要になったので復帰イベントを調べました。
状態に合わせてスタイルの上書き(オーバーライド)をしたいことはよくある。
1 2 3 4 5 6 7 8 9 |
const views = arr.map((v, i) => { const _style = StyleSheet.flatten([ styles.A, i % 2 == 0 && styles.B ]); return ( <View style={_style}>{v.name}</View> ); }); |
スタイル自体はStyleSheet.create
で定義してると思ってください。
通常[]
(配列)を使えばいいのですがちょっとハマったことがあったので、3つの方法と注意する点を書いておきます。
一月ほど前に失敗した「React Native (Expo)でカメラプレビューにエフェクト」のリベンジです。
React Native(Expo managed)
の環境で、カメラのプレビュー画面を入力としてOpenGL
で編集して表示する方法を見つけたので書いておきます。
React管理下にない値の変更時に描画を更新したい。
あまり使いたいものでもないですが、React.Component
では適切なタイミングでthis.forceUpdate()
を使うことになります。
今回は関数コンポーネントで作成中にforceUpdate
に当たる処理が必要になったのでどうにかしようという内容です。
うずらウォレットの蛇口一覧ページを作りました。
特定の端末で特定の写真を開くとエラーも出ずすっとアプリが再起動する。
OpenGLの問題で同じようなこともありましたが今回はより条件がわからない。
結果的におそらくメモリ不足であろうという推測に至ったので、ImagePicker
で取得する画像の調整や使えるメモリ量などの備忘録。
最終的にImagePickerが原因で対処療法しかないという内容ですが、これを機に色々調べることが出来たので時系列順に書いていきます。
next.js
で作ったアプリをSSL化しようとしたところ以下のエラーに悩まされた。
Error: error:0909006C:PEM routines:get_name:no start line
調べて出てくる情報が色々とおかしかったので大分苦労しました。
今回の内容は基本的にexpress
でLet's Encrypt
の証明を行うための方法です。
expoでビルドした「カレイドツクール」は49MBでした。
こんなもんかなと思いましたがassetに大きなファイルも入れていないのにこれまでのUnityアプリよりもサイズが大きい。
Google Play App Signingを有効化してAndroid App Bundleを使用することで容量の削減を試みました。
少し減ればいいなと思っていたらなんと半分になります。
新アプリ「カレイドツクール」をリリースしました。
およそ2年ぶりで通算40作目。そんなに経ってたのか…。
カレイドスコープ(万華鏡)画像を作るアプリです。
最近ハマってたOpenGLを使って作成しました。