
AWARE iOS client Version 2 をGitHubに公開しました。大きな変更点は以下の3点。 センシング部分はAWAREFramework-iOSを利用し、ソースコードを簡素化 Swiftでの記述 コンテキストカードを機能の追加
AWARE iOS client Version 2 をGitHubに公開しました。大きな変更点は以下の3点。 センシング部分はAWAREFramework-iOSを利用し、ソースコードを簡素化 Swiftでの記述 コンテキストカードを機能の追加
はじめに この記事では、CocoaPodsライブラリのテスト&リリースプロセスが非常に面倒なので、Travisを使って自動化する手順をまとめる。
AWARE用のFlutterのプラグインを開発する機会があったのでメモ。Flutterの開発環境が整った状態を想定して記述する。また、この記事の執筆時点では、Flutterバージョンは0.9.7-pre.26、Dartは2.1.0を用いて、macOS10.14上のAndroid StudioとXcodeで開発。
Ouluでの仕事の一つとして、これまで開発したいたAWARE Frameworkを大規模センシングにも対応できるように、AndroidライブラリはKotlin、iOSライブラリはSwift、サーバサイドはNode.jsで再設計・実装中。KotlinとSwfitは言語仕様がかなり似ているの、新しいAWAREではAndroidとiOSの両プラットフォーム上でほぼ同じ記述でセンサを操作できるようになる予定。 Android側のコードレビュー中に、Kotlinの「apply」と呼ばれるスコープ関数をうまく使って、センサの初期設定をしているのを発見。今回は、そのapplyをSwiftでも実装してみたのでその技術メモ。調べてみたところ、どうやらSwiftでもクロージャを使えば再現できるみたい。 SensorクラスとConfigクラスの実装。 インスタンス化は、Sensorクラスのコンストラクタ引数に、Sensorクラス内のConfigクラスを与える。Configクラスのapplyメソッド呼び出すことで、スッキリしたコードでセンサクラスの初期化とConfigの設定が可能。センサの設定項目を増やしたい場合は、Config側に変数を追加するだけ。 初期段階ではビルダーパターンで実装していたけど、各センサ毎に設定メソッドを実装するのはかなり面倒だったので、applyの方がかなり楽に実装できる。 参考資料 https://qiita.com/tsumuchan/items/e4913c9583d00d9bea7d https://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691e