@iwasaki のアーカイブ

realmでオブジェクトを削除する際に、リレーションオブジェクトは削除されない

2017年6月29日

realmで以下のようなschemaを定義したとします。 ``` File.schema = { name: 'File', primaryKey: 'fileId', properties: { fileId: 'int', fileName: 'string', }, }; Message.schema = { name: 'Message', primaryKey: 'messageId
続きを読む

React Nativeで要素の高さを取得する方法

2017年6月27日

``` render() { return ( { this.myTextInput = r; }} /> ); } ``` この要素の高さを取得する方法 ``` this.myTextInput.measure((ox, oy, width, height, px, py) => { console.tron.log({ ox, o
続きを読む

React NativeのTextInputでAndroidの改行ができない

2017年6月26日

React NativeのTextInputをAndroidで使った際にEnterキーでの改行ができないことがあります。 該当するIssueはこちら https://github.com/facebook/react-native/issues/12717 これに対応してコンポーネント化されたものがこちらになります。 https://gist.github.com/catchin/47afe706256604959c13dc25e7bb9383
続きを読む

React NativeでStyleSheet.createしたstyleを渡すとpropの型がnumberになってしまう?

2017年6月23日

React NativeでCSSを書く場合、以下のように書くことが多いかと思います。 ``` const styles = StyleSheet.create({ image: { flex: 1, width: 150, height: 150, borderRadius: 4, }, }); ``` これを使って以下のようにstyle属性を渡すと、number型になってしまうようで、これがだめっぽいです
続きを読む

react-native-fetch-blobのfetchでデータをWeb越しにダウンロードする際の注意点

2017年6月22日

ファイルをダウンロードする際のサンプル https://github.com/wkh237/react-native-fetch-blob#download-example-fetch-files-that-need-authorization-token ``` // send http request in a new thread (using native code) RNFetchBlob.fetch('GET', 'http://www.exa
続きを読む

Androidのエミュレータ内のファイルを確認する方法

2017年6月22日

Android上のファイルを端末からPCへ転送する方法 ``` adb pull /data/user/0/XXX/XXX.png ~/Downloads/XXX.png ``` なお /data/data 以下のファイルは転送できないため、一旦 /sdcard/などに保存した上でPCへ転送する必要があります。 その場合には run-as コマンドを使うようです。 おかしなファイルがpngファイルとして保存されてしまっていてMacのプ
続きを読む

React Nativeでmultilineの入力フィールドの入力開始位置を整える

2017年6月21日

Androidで高さを指定してmultilineにすると、開始位置がちょっと下の方にずれ、複数行入力していくと位置がガチャつくことがあります。 その場合には高さの指定とともに ``` textAlignVertical: 'top', ``` を入れることで整います。 ``` this.onChangeText(text)} value={this.state.text}
続きを読む

React NativeでRealmを使う際にinValidメソッドを使うには

2017年6月21日

Realmのschemaを設定する際に Realm.Object をextend して使います。 ``` class Item extends Realm.Object {} Item.schema = { name: 'Item', primaryKey: 'id', properties: { id: 'string', code: 'string', ... }, }; ``` Realm.Obj
続きを読む

Javascriptで型判定を行う

2017年6月21日

以下を使うことで型判定が行えます。 ``` Object.prototype.toString.call(hoge) ``` ``` [object RealmObject] ``` などのような結果が返ってきます。 http://qiita.com/sdn_tome/items/ef0b797156b324bb4ef3
続きを読む

React NativeでRealmのfilterをいい感じで使う

2017年6月19日

filterは以下のような感じで使います。1つ目の引数はqueryの文字列になります。文字列内に$0,$1...を指定することで、2番目以降の引数が呼ばれるようになります。 ``` realm.objects('Message').filtered('roomId == $0', roomId, ); ``` 以下のようなケースはうまくfilterが効きませんでした。 ケース1:文字列として判別させる ``` realm.objects('Mes
続きを読む

PHPでダミーのメールアドレスをたくさん作る方法

2017年6月16日

```
続きを読む

react-native-fetch-blobでファイルをダウンロードした際の後始末

2017年6月16日

後始末としてやることはファイルダウンロードのキャンセルおよびキャッシュファイルの削除になります。 キャンセル処理はこのあたりが参考になりそうです。 https://github.com/wkh237/react-native-fetch-blob#user-content-cancel-request キャッシュファイルの削除は以下のような感じになります。Android版だとDownload Managerを使うケースが多いかと思うので、iosだけ限定してフ
続きを読む

React NativeでPDFファイルを表示する

2017年6月16日

iOSでの話です。 以下のように、WebViewを使うことでPDFファイルなどを表示することができるようになります。ファイルのダウンロードは別のScreenで行い、ファイルの表示は別のScreenにuriを渡すのがいいようです。 ``` import React, { Component } from 'react'; import { WebView } from 'react-native'; class MyWeb extends Componen
続きを読む

React NativeでMigration is required due to the following errorsが出た時の対処法

2017年6月14日

``` react-native run-ios ``` や ``` react-native run-android ``` した際に以下のようなエラーが出ました。 ``` Migration is required due to the following errors: - Property 'XXXX' has been added. ``` このようなエラーが出た際にはアプリをアンインストールした上で再度インス
続きを読む

ReactでAPIを複数コールする方法

2017年6月13日

以下のようにします。 ``` function* postMessage(params) { yield call(setup); const { roomId, message, } = params; const response = yield call(postMessage, params); if (response.ok) { return yield c
続きを読む

React Nativeで画像ファイルのアップロード

2017年6月12日

http://hacknote.jp/archives/27471/ に関連する内容です。 react-native-fetch-blob と react-native-image-picker とを利用して * 画像を選択してアップロード * カメラで画像を撮影してアップロード する時のパターンです。 ## 検証環境 react-native-image-picker: 0.26.3 react-native-fetch-blob
続きを読む

React NativeのiPhone実機でテストする際にGeneratedInfoPlistDotEnv.hが見つからない

2017年6月12日

``` :1:10: fatal error: '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX/Build/Products/Debug-iphoneos/GeneratedInfoPlistDotEnv.h' file not found ``` のようなエラーが出た際には以下のコマンドを実行して確認してみるといいようです。 ``` $ npm install react-native-con
続きを読む

「AWS Lambda to end support for Node.js v0.10 runtime, please migrate to Node.js v4.3 or v6.10 immediately」みたいなメールがまだ届く方へ

2017年6月9日

よし、全部 Node 4.3 にしたぜ!と思っていたら依然としてこのようなメールが届きました。 どうやら、Lambda関数の過去バージョンで Node.js v0.10 が使われているものがあるとメールが来るようです。 Lambda Functionsの「Qualifiers」から対象となるVersionを選択、「Actions」から「Delete version」するといいようです。 なお、Aliasが設定されている場合には、 Aliasの削除→Ve
続きを読む

Gitでうっかりうっかりしたファイルをプッシュしてしまった場合に差し戻す方法

2017年6月9日

うっかりしたファイルをpushしてしまった場合にはrevertではなく ``` git clone https://github.com/XXX/XXX.git cd XXX git checkout -b your_branch_name origin/your_branch_name git push -f origin HEAD^^:your_branch_name ``` 参考 http://tweeeety.hateblo.jp/
続きを読む

Androidエミュレータでカメラを使う前にSDカードを挿入するように言われるケース

2017年6月8日

これが起こる原因のひとつとして、変なファイルを作ってしまっているケースがあります。 Androidエミュレータを起動した状態で以下のコマンドでエミュレータにログインします。 ``` adb shell ``` ``` cd: /sdcard/DCIM/Camera: Not a directory ``` のように、うっかりCameraフォルダでなくファイルを生成してしまっている場合には削除をします。 ``` rm /sdcar
続きを読む