[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は便利そう

関連記事

EverLearn 1.7.2 を公開しました

英単語学習用アプリ EverLearn 1.7.2 を公開しました (2015/10/22)TOEF

記事を読む

no image

メイドインジャパンとiPad、どこが違う? 世界で勝てるデジタル家電 感想

西田宗千佳氏の本はいつも面白い。 今回も予想に違わず面白かった。 自分も同じような情報は知っているは

記事を読む

no image

災害時のためのiPhone充電機器を探してみる

3/11(金)の2011年東北地方太平洋沖地震の後、宮城と岩手の親類と連絡が取れず、3/14(月)の

記事を読む

no image

iPhone OS 3.0 インストール

OSのメジャーアップデートの機会は1年に一度だろう、ということで貴重な機会なのとbeta 5になりさ

記事を読む

no image

[iPhone SDK] Log Locations 1.2 を Submit

かなり久しぶりに、自動で毎日移動した場所を記録する Log Locations をアップデートした。

記事を読む

no image

iPhoneアプリやiPadアプリのモックをさくさく作れる iPadアプリ iMockups

iPhoneやiPadアプリのモックアップをサクサク作れそうなiPadアプリ iMockups をR

記事を読む

Macでコマンドラインで一括オーディオフォーマット変換 afconvert

iOSアプリの場合、効果音のフォーマットは caf がよいらしい。 ダウンロードしたファイルはca

記事を読む

no image

iPhone SDK 3.0 beta 4

iPhone プログラミング記さんによると、 iPhone SDK 3.0 beta 4 になってよ

記事を読む

no image

暗記サポートアプリ YUBImarker

暗記サポートアプリを探している。 YUBImaker はちょっと良さそうなんだけれども、なかなかiP

記事を読む

[iOS SDK] UIPickerView の文字が表示されない

おんぷちゃん for iPad のiOS7対応をしているときに遭遇した問題。 UIPopove

記事を読む

Message

メールアドレスが公開されることはありません。

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

TUNEWEAR ALMIGHTY DOCK nano1 USB3.2 5in1ハブ を買ってみた

ちょうどiPhone のリストアを実行中で、2時間程度かかっていたた

Apple Developer Program 更新 2022

今年も Apple Developer Programを更新した。こ

M1 MacBook Air を macOS Monterey にアップデート

Xcode 13.3 アップデート するために、macOS

Xcode 13.3 アップデート

iPhone 11 Pro Max の iOSを15.4に上げてしま

[Apple Event]最高峰を解禁。

2022/03/09 3:00AM JST にApple Event

→もっと見る

PAGE TOP ↑