【勉強会メモ】Mobile Act OSAKA #6
- 日時:2018/08/20(月) 18:45 〜 21:30
- 場所:Osaka Innovation Hub (大阪イノベーションハブ)
今回はiOSのテーマが多めでした。またAI系のテーマも2つあって注目度の高さが伺えました。AIに関しては私も以前ML Kitについて別の勉強会で LT したことがありますが、モバイルでの活用がしやすいAPIなどの仕組みが充実してきていると感じています。 ちなみに今回は登壇もさせていただきました。何度も参加させてもらっている勉強会なので発表側で参加できてよかったです。 また、余談ですが懇親会のビールのチョイスが最高でビール好きにはたまりません。
これからはじめるDynamicType
itok さん
- iOS12がそろそろ
- iOS10サポートやめてiOS11のAPIが使える
Dynamic Type
- フォントのサイズをシステムレベルで変える
※メモ
Label間のマージンを自動調整
constraintEqualToSystemSpacingBelow
- iOS11から
レイアウトを動的に変更
- 自分で書くしかない
画像も自動調整
UIImageView
のadjustsImageSizeForAccessibilityCOntentSizeCategory
を使う- 画像のサイズが大きくなる
まとめ
- WWDC17の動画参照
- iOS10サポートを終わらせてiOS11の機能をフルに使おう
Create MLで犬と猫の肉球を見分ける
hokuron さん
Create ML
- 転送学習
準備
- MacOSをMojaveにする
- Xcode10
デモ中心だったので割愛。ラベル付けされた犬と猫の肉球の画像をフォルダに準備してDrag&Dropするだけで学習とテストができてどちらかを予測できるようになりました。
※参考
Webアプリのようにモバイルアプリを作りたい
僭越ながら発表させていただきました。
RxSwiftのスケジューラ
usami-k さん
RxSwift
- 非同期イベントを受け取るための枠組み
非同期イベントとスレッド
- 非同期イベント=同期的でない=別スレッドで発生する
スケジューラ
- Rxでスレッドに当たる概念
Rxの三要素
- Observable
- Operator
- Scheduler
スレッド制御
subscribeOn
- イベント発生元のスケジューラ指定
- WebAPI実行スレッドの指定
- データベースアクセススレッドの指定
observeOn
- イベント処理のスケジューラ指定
- UIスレッドのスレッド指定
Hot と Cold
- subscribeOnがきかない
- Hotなobservableの場合は切り替えできない
Observableの分類・Hot/Cold
- HotはSubscribeしなくてもストリームが流れる
- Coldはsubscribeしたらストリームが流れる
どれがHotでどれがColdか
- Hot
- SubjectやRelay
- Rxの外側
- Cold
- 上記以外はだいたいCold
- Rxの制御下
まとめ
- スケジューラ
- 切り替える方法
- HotとCold
- Hotは切り替えできない
モバイル通信を覗いて見た
NakaHiro さん
スニファを使用
iOS Vision framework 顔認識アプリ開発してみた
TK さん
Vision Framework
- iOS11から利用できる画像解析API
- 顔、モノ、バーコードなどを検出できる
※メモ
Vision | Apple Developer Documentation
- 人間以外の人形やお札も識別
実装
VNImageRequestHandler
でハンドラを作る
パフォーマンス
- アプリ起動後、初回検出完了まで約3秒
- 動画で処理可能なフレーム:約8枚/秒
苦手なこと
- 傾いている顔(だいたい45度まで)
- マスクを付けた人
- 濃い影
まとめ
- 簡単に高精度の顔認識が可能
- 実装は座標の扱いに注意
- 苦手なこともある