はじめに

NativeScript でデバイスの輝度(明るさ)を制御する方法。

TL;DR

続きを読む

はじめに

webpack & Babel を使って Chrome 拡張機能を良い感じに開発できるテンプレート(Hot Reload 付き)を作った。

TL;DR

続きを読む

はじめに

モバイルアプリ(スマホアプリ)の強制アップデート(アップデートのお知らせ)に関して調べたり、検討したりしたので簡易的なメモを残しておく


強制アップデート(アップデートのお知らせ)とは、↓のようなアプリ起動時に「最新版があるよ」と通知するようなやつ。


iOSアプリのアップデートをお知らせする | スーパーソフトウエア東京 より引用

TL;DR

  • 案1: 自サーバ内でバージョン情報を管理
  • 案2: Firebase Remote Config
  • 案3: アプリ内で App Store, Google Play にアクセス(スクレイピング)
  • 案4: 案3’ と 案1(もしくは案2) との組合せ
  • 案5: ライブラリを利用して実装
  • NativeScript のみ: NativeScript AppSync
続きを読む

はじめに

NativeScript で入力範囲外エリアのタップでキーボードを非表示にする方法

TL;DR

  • Android: dismissSoftInput() を使う
  • iOS: tns-core-modules/application/ios を使って ios.nativeApp.sendActionToFromForEvent('resignFirstResponder', null, null, null)
  • ScrollView あたりに tap イベントのハンドラとして設定
  • iOS は以下の問題があるため使用に注意
    • ロングタップによる入力補助が上手く効かなくなる
    • iOS 12以下だと入力エリアへのフォーカスが効かなくなる
続きを読む

はじめに

NativeScript(NativeScript-Vue) の ListView の表示を強制的に更新する方法。

シチュエーションとしては、「お知らせ一覧」のようなものがあって、詳細を確認したら未読アイコンが消える、というような状況。

「お知らせ詳細」から戻るボタンで ListView に戻ってきても、未読アイコンが消えずにかなりハマった。

なお、Android だと上記の問題は起きなかったため、主に iOS 向けの内容。

TL;DR

  • Pageloaded イベントなどにハンドラを設定
  • ハンドラ内で ListView.refresh() を実行する
  • NativeScript-Vue の場合は $refs を使うと楽
続きを読む

はじめに

NativeScript(NativeScript-Vue) でプラットフォームごとにファイルやプロパティを切り替える方法。

チートシート

種別 iOS Android
View ファイル分割 xx.ios.vue xx.android.vue
View 内で分岐 <ios></ios> <android></android>
プロパティで分岐 ios:prop android:prop
スタイルシートファイル分岐 xx.ios.(s)css xx.android.(s)css
JS ファイル分岐 xx.ios.js xx.android.js
JS 内で分岐 isIOS isAndroid

TL;DR

  • ios, android をファイル名や、プロパティの prefix などに使う
  • 詳細は チートシート や各事例を参照
続きを読む

r17n


Softwear Engineer


Fukuoka