[iOS SDK] WatchKitでできることできないこと 2015年3月

公開日: : 最終更新日:2015/04/05 Apple Watch, iPad, iPhone

PebbleAppInstruction2watch_hero_2x

Apple Watch発売日(2015年4月24日)までに自作アプリの WatchKit対応を完了させたい。稼働日カウントダウンで調べたところ残り26日しかないのでいまさらながらWatchKitの調査を行っている。

しかしPebble Smartwatch アプリを最初に作ったときも同じだったけれども、今時計側のアプリで何ができて、何ができないのかを把握するのに時間がかかってしまう。

公開されている情報に関しても、WatchKit は2014年9月に公開されて、その後2015年3月に更新されたので、どちらをベースに書かれた情報なのかを把握するのも難しい。

まずは今の自作 Pebble アプリでできていることが Apple Watch でもできるのかを調べていこうと考えている。

現状の Pebble アプリ EverLearn でできていること

  • iOSアプリから英単語とその意味をBluetooth経由で100個まで受けとって時計側のメモリに保存できる
  • iOSアプリからPebbleアプリを起動することができる
  • データ転送後は、iOSデバイスなしで Pebbleアプリを起動して普通に使うことができる
  • 時刻表示と単語を同じ画面に表示することで、時計として使うことができる
  • 1分ごとに自動で問題を切り替えることができる
  • 上と下のボタンで問題を切り替えることができる
  • 真ん中のボタンを押すことで単語とその意味の表示を切り替えることができる(暗記カード形式)
  • 加速度センサーでShakeを検知して次の単語を表示する(2015/04/05追加)

iOSアプリから英単語とその意味をBluetooth経由で100個まで受けとって時計側のメモリに保存できる

Apple Watch Programming Guide: WatchKit App Architecture
によると、データ共有にはNSUserDefaults か shared container directory を使うことができるようだ。

shared container directory を使うとファイル自体を共有することができるようだが、自分の用途なら NSUserDefaults で NSDictionary を共有すればすみそうに思える。

ただ、保存されるのはiOSデバイス側のメモリのようだ。このため、iOSデバイスなしでWatchKitアプリを単体起動してもデータが取得できないように思われる。

自分は職場ではiPhoneは机に置いたままにして移動することが良くあるのだが、その場合はWatchKitアプリは使えないことになってしまう。

iOSアプリからPebbleアプリを起動することができる

Pebbleではできているのだが、これはどうやらWatchKitでは今はできないようだ。

WatchKit – Apple Watch / Watch Kitで現時点できないことまとめ – Qiita

逆に、PebbleではPebbleアプリからiOSアプリを起動することができないのだが、それはある openParentApplication で 程度可能らしい。

+ (BOOL)openParentApplication:(NSDictionary *)userInfo
reply:(void (^)(NSDictionary *replyInfo,
NSError *error))reply

起動はかけられるが、Foreground にはもってこれないため、Background でできる処理があればそれを WatchKit に返してやることになる。

データ転送後は、iOSデバイスなしで Pebbleアプリを起動して普通に使うことができる

これもどうやらだめなようだ。

WatchKit FAQ – Ray Wenderlich

iOSデバイスなしでWatchKitアプリを起動することはできない、とどこかで見た気がする。

もちろん2015年3月時点での情報なので今後変わることはあるだろうし、是非変わってほしい。

時刻表示と単語を同じ画面に表示することで、時計として使うことができる

WKInterfaceDate Class Reference によると可能そうだ。

たしかに、時刻表示のために毎秒 iOSデバイスとの通信が発生してしまってはいけないだろう。

1分ごとに自動で問題を切り替えることができる

これは不明。WKInterfaceDate は時刻をラベルで表示するためのクラスのようなので、WatchKitで現在時刻を取得できるかがわかっていない。

しかし WKInterfaceTimer Class Reference によると NSTimer は利用できるようなので大体であればなんとかなるか。

上と下のボタンで問題を切り替えることができる

Apple Watch にはボタンは一つしかなく、Digital Crownもまだアプリから利用可能ではないようなので、問題切替にはなにかちがう方法を提供する必要がありそうだ。

WatchKit – Apple Watch / Watch Kitで現時点できないことまとめ – Qiita

普通に考えると上下のスワイプで切替か。と思ったが、ジェスチャーのハンドリングも自由にはできないようだ。

ios – Gesture recognition in Apple Watch (WatchKit) – Stack Overflow

スクロールできる画面にしておけば、ジェスチャーによるスクロールすることができる、という仕組みである模様。

真ん中のボタンを押すことで単語とその意味の表示を切り替えることができる(暗記カード形式)

Apple Watch のハードウェアボタンが押されたことをアプリから検知することができるのだろうか?

今のところ不明。

長押し(強押し?)でMenuが表示されるのはわかっているが、ちょっとまどろっこしい気がする。

左右スワイプで表示できるようにするのが現実的だろうか。

今後も適宜更新する予定。(2015/03/29 更新)

加速度センサーでShakeを検知して次の単語を表示する(2015/04/05追加)

残念ながら現在のSDKではセンサーデータを利用したり、センサーによるジェスチャーを取得したりすることはできないようだ。
ios – Handling Apple Watch sensors data in WatchKit app – Stack Overflow

しかしこの人はラボに行ったことを書き込んでいるが問題ないのだろうか。

追記 2015/04/05

Apple Watch の SimulatorではまだHomeスクリーンに戻ることができない watchkit – Apple Watch Main menu screen in the Emulator – Stack Overflow

Pebbleよりも Apple Watch の方が優れている点

Pebbleの方が優れていることを多く書いている気がするので、Apple Watchの方が優れていることも書いてみる。

  • 最初から日本語表示に対応している
  • 高解像度カラー液晶を採用している
  • タッチで操作できる
  • Digital Crownは便利そう

関連記事

[iOS 開発本] iOSフラットデザインの作法

iOS7で採用されたフラットデザインに関して、個人的には Windows 8のMetroのイ

記事を読む

no image

iOS4プログラミングブック の感想など。

前評判によるとかなりの力作のようなので、久しぶりにiOSの本を買ってみた。 ソースコードはすでに発売

記事を読む

no image

派生クラスを変更し忘れて半日はまる

SettingViewController は UITableViewController から派

記事を読む

KORG LP-380 で QUICCO SOUND mi.1 を使ってみた

電子ピアノ KORG LP-380 を買ったのでこの機会に以前から気になっていた QUICCO SO

記事を読む

no image

最近読んだ本: これでiPhoneアプリが1000万本売れた 南雲 玲生著

周りでおもしろいと言っている人がいたので買ってみた。2011/05/21発売。 株式会社ユードーの南

記事を読む

Everio で撮影した動画を写真袋で公開する

年末に奥さんが Victor Everio GZ-HM670 で撮影した長女のバレエ動画を写真袋で

記事を読む

これは楽しそう。ズボンでドラム演奏 DRUMPANTS

こんな楽しげなデバイスが2014年にKickstarterにでていたらしい。新しい楽器?ドラムを簡単

記事を読む

開発用iPad比較検討2016

手持ちのiPad2およびiPad mini 初代がiOS10のサポート対象から外れてしまったので、i

記事を読む

no image

そのまま使えるiPhoneゲームプログラム

書店で見かけて立ち読みしてみた。 ゲームで使いそうな小技が紹介されている。ゲーム向けなので、Open

記事を読む

no image

タッチ! アメリカ地図 1.1 アップデート

タッチ! アメリカ地図のアップデート (バージョン 1.1) が今朝公開されました。 アメリカの州は

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

BluetoothドラムデバイスSenstrokeとFreedrum

ドラム練習アプリドラムちゃん を作って以来、ドラムに興味があるが、実

指輪型Bluetooth楽器デバイス specdrums

https://youtu.be/3916TgLt2v8

LINE Clova ドラえもんを買ってみた

LINE は使っているけれども、Amazon Echo DotとAm

App Annie App Store 連携失敗

App Annie の App Store 連携機能を使って、日々の

自作キーボード Mint60 完成

自作キーボード Mint60 が年末完成していたので、記録を残してお

→もっと見る

PAGE TOP ↑