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

関連記事

no image

達人出版会の本をKindleで読んでみる(Windows編)

最近話題の「当事者」の時代の電子書籍版(パブー)や、エキスパート Objective-C プログラミ

記事を読む

no image

Corona SDK 調査3日目 (Lua 用エディター探しその1)

iPhoneとAndroid両方で動くアプリケーションを開発できるというCorona SDKの調査3

記事を読む

[iOS] 取り下げになったアプリを更新

しばらく更新していなかったら App Store から取り下げになった「タッチにほんちず」アプ

記事を読む

no image

[iPhone SDK] Log Locations 1.2 を Submit

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

記事を読む

Reject履歴 EverLearn 1.7.0

どうやら Apple Watch対応アプリの審査は厳しいらしいので、Rejectされた履歴を書いてみ

記事を読む

no image

iOSアプリの Ad Hoc 配布の悪夢から解放される TestFlight

面倒だった Adhoc 版のやりとりを格段に楽にしてくれる TestFlight | つくる社LL

記事を読む

リズムくんHD 1.2.1 で iOS11に対応しました

iPad用のリズムくんHD のiOS11対応が遅れてしまったため、2017年11月あたりからiOS1

記事を読む

MacPeople は2014年10月号からスマホアプリ開発者向け雑誌に?

。 最近 MacPeople の記事がずいぶんアプリ開発者寄りだなと思っていたところ、2014

記事を読む

iPad Air 2 OpenAL再生でプチノイズ発生(更新あり)

新アプリが動き始めたので、TestFlightを利用してベータテストを行っている。自分のiPad2や

記事を読む

EverLearn 1.7.5 を公開しました

英単語学習アプリ EverLearn 1.7.5 を公開しました。変更点エビングハウスの忘却曲線を参

記事を読む

Message

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

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

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

Vision Pro カバーケースを買ってみた

[itemlink post_id="11629"]

→もっと見る

PAGE TOP ↑