19
Digital Crown 星星星星 ge-nie inc. WWDC.NEXT 2016.7.1

WWDC.NEXT 2016: Digital Crown

Embed Size (px)

Citation preview

Page 1: WWDC.NEXT 2016: Digital Crown

Digital Crown星野佑太 ge-nie inc.

WWDC.NEXT 2016.7.1

Page 2: WWDC.NEXT 2016: Digital Crown

WWDC 201674 カ国から 5000 人以上が集まりました。

Page 3: WWDC.NEXT 2016: Digital Crown

Bash本格的なライブ。一番印象に残った。帰国後も Good Charlotte と DJ QBert を忘れられない。

Page 4: WWDC.NEXT 2016: Digital Crown
Page 5: WWDC.NEXT 2016: Digital Crown

watchOS 3• 速く使える

• 起動時間が短い• バックグラウンド処理。特に update

• クラウンで操作できる• 画面をタッチして、より複雑な操作をする

Page 6: WWDC.NEXT 2016: Digital Crown

Crown• 回すこと自体が楽しい• クイックホイールのようにいつまでも回したくなる• おもちゃの感覚• Apple もフィーチャーしたがっている部分なのではないか ?

Page 7: WWDC.NEXT 2016: Digital Crown

自由が増した• すでに watchOS2 の時点で、ピッカー用途ではクラウンがサードパーティにも開放されていた

• WKInterfacePicker は、 List 、 Stack( トランプみたい ) 、 Sequence( 円グラフ ) の 3 種類のスタイルがある• watchOS3 では、無制限にクラウンの値を利用できるようになった

• watch 上のゲームのコントローラにしたり、 BLE で連携したデバイスを動かしたりする自由が生まれた

Page 8: WWDC.NEXT 2016: Digital Crown

DemoDigital Crown + SceneKit

Page 9: WWDC.NEXT 2016: Digital Crown

Digital Crown + SceneKit でグリグリ動く

( スクリーンショット )

Page 10: WWDC.NEXT 2016: Digital Crown

追加された要素• WKCrownSequencer と WKCrownDelegate• クラウンの回転の開始、停止のタイミングを把握できる

func crownDidRotate(_ crownSequencer: WKCrownSequencer?, rotationalDelta: Double)

• 回転の回数と向き (Double の -1 〜 0 〜 1) 、速度 (1 秒間に何回転かcrownDidRotate の rotationalDelta や

WKCrownSequencer.rotationsPerSecond

Page 11: WWDC.NEXT 2016: Digital Crown

WKCrownSequencer• 秒間に何回転する速度 : rotationsPerSecond:

Double• 停止しているか : isIdle: Bool• https://developer.apple.com/reference/wat

chkit/wkcrownsequencer

Page 12: WWDC.NEXT 2016: Digital Crown

WKCrownDelegate• 回転した時に呼ばれる : crownDidRotate

• 引数として rotationDelta: Double が来る• 向きが負号でわかる、 1 回転すると 1.0

• 回転が停止した時に呼ばれる : crownDidBecomeIdle

• https://developer.apple.com/reference/watchkit/wkcrowndelegate

Page 13: WWDC.NEXT 2016: Digital Crown

全体の流れ1.InterfaceController に WKCrownDelegate の宣言2.awake() の中などで、 crownSequencer.delegate = self

3.willActivate() の中などで、 crownSequencer.focus()

4.crownDidRotate() などで、タイミングに応じた処理をさせる

Page 14: WWDC.NEXT 2016: Digital Crown

その他の点• watchOS 3 では、クラウンの回転で、縦方向にスクロールして画面遷移する” vertical

paging” 。• シミュレータ上では、基本的にクラウンの挙動を再現できない。回せない。クラウンをプッシュする操作はできる。 Cmd + Shift + H のショートカットもある。だから、 Apple Watch 実機での検証が必要。

Page 15: WWDC.NEXT 2016: Digital Crown

サンプルコード• watchKitCatalog: Crown の項目。回転させると Velocity と

State を取得できる。 Picker をタップするとフォーカスがそちらに移る。外でタップすると戻ってこれる。• HelloGameKit: Crown は出てこない。タップしてゲーム。• WatchPuzzleUsingSceneKitandSpriteKitonWatchOS:

Crown は出てこない。 SceneKit とジェスチャーを活用したパズル。• 以上は、 WWDC 2016 Sample

Code にある。 https://developer.apple.com/sample-code/wwdc/2016/

Page 16: WWDC.NEXT 2016: Digital Crown

参考リンク• koogawa: watchOS 3 で追加された WKCrownSequencer でデジタルクラウンの状態を取得してみる

http://qiita.com/koogawa/items/5dd2f7a0e36bf03d5e6c• shu223: 【 watchOS 3 】 API Diffs から見る watchOS 3 の新機能

#WWDC2016 http://d.hatena.ne.jp/shu223/20160614/1465887566

・平屋さん : [watchOS 3] 新クラス「 WKCrownSequencer 」を使用して Apple Watch のデジタルクラウンの値を取得する #wwdc http://dev.classmethod.jp/smartphone/iphone/watchos3-crown-sequencer/• WWDC 2016 What’s New in watchOS 3

https://developer.apple.com/videos/play/wwdc2016/208/

Page 17: WWDC.NEXT 2016: Digital Crown

自己紹介• 星野佑太 ( 株式会社ジーニー 代表取締役 )• iOS アプリの自社 / 受託開発を行う埼玉所在の会社。 Objc,Swift(,Rails)• メモ電卓 (ge-calc) が累計 70 万本を達成。• QReation は、 Realm を導入した Apple Watch アプリ。 Realm

Meetup で初の AppleWatch アプリの発表だった• 受託経験としては、スマートロックの watch アプリのプロトタイピング段階での UI 側、年商 800 億円規模の会社の webAPI を利用した業務アプリの UI 側• WWDCへの参加は 2016 が初だった。本場の雰囲気を知りたかった。

Page 18: WWDC.NEXT 2016: Digital Crown

QReationRealm を使っています。

https://appsto.re/jp/mtMw7.i

Page 19: WWDC.NEXT 2016: Digital Crown

メモ電卓 (ge-calc)Realm や Eureka を使っています。

https://appsto.re/i6Br8Vk