[iOS SDK] Pebble腕時計対応iOSアプリを作る

公開日: : 最終更新日:2013/08/20 gadget, iPad, iPhone, Pebble

英単語学習アプリ WordLearnをリリースしましたに書いたけれども今Pebble腕時計対応iOSアプリを開発しているのでそのメモを公開してみる。

2013/06/08 現在だと、こんな方法で開発する。
まだSDKがでたばかりなのでこれからどんどん変わっていくと思うのであくまで参考までに。

PebbleKit(SDK)のインストール

PebbleKit をインストールする。
現在の最新版は PebbleKit v1.1.1。
インストール手順は結構面倒。覚悟してがんばろう。

iOSアプリビルド準備

  • PebbleKit.framework をプロジェクトに追加
  • PebbleVendor.framework をプロジェクトに追加
  • ExternalAccessory.framework, libz.dylib, CoreBluetooth.framework, CoreMotion.framework , MessageUI.framework を追加
  • “-ObjC” を Build Settings の linker flag に追加
  • “com.getpebble.public” をInfo.plistの”Supported external accessory protocols” (UISupportedExternalAccessoryProtocols) に追加
  • 必要であれば、”App communicates with an accessory” (external-accessory) “Required background modes” (UIBackgroundModes) も追加する。これにより、バックグラウンドに回っても通信が出来るようだ。しかし、その分Pebbleの電池消費量が多くなる。

これらを実施すると、下記のような状態になる。
Pebble01

Pebble02

Pebbleとの通信について

PBWatch の AppMessage を使って通信する。
Pebble側はPure Cしか使えないが、Dictionaryのサポートはあるのでそれなりに簡単にメッセージのやりとりはできる。
Pebble側はC言語が使えるが、malloc など動的なメモリ確保は出来ず、メモリは静的に確保する必要がある。このあたりははまりポイントだった。
Help with getting a single char – Pebble Forums
また、strtok とか sprintf とか便利な関数達は用意されていないので、自前で書いたりする必要がある。このあたりはForumでもよく話題になっているようだ。
Pebbleのドキュメントはまだまだ記述が足りておらず、またまちがいもあったりするので、Pebble Developer Forumの活用は必須。
ちょっとはまったらForumを検索して、質問がなかったら自分でどんどん質問した方が時間の節約になりそうだ。
しかし多くの先人達のおかげでかなりノウハウがたまっているので、Forum検索でたいてい解決できる。

通信に関しては、iOS側は WeatherDemo、Pebble側はdemosディレクトリのfeature_app_message, feature_app_message_send が参考になる。

現状のiOSアプリの制限について

Android に比べると、いろいろと制限があるようだ。
Pebble | SDK |

  • iOS上で、同時に通信できるのは1セッションのみ。複数のアプリで共有される必要がある。このため、Pebbleを発見して即通信を開始してはいけない。また、アプリの使用をやめたらすぐに closeSession: メソッドでセッションを閉じる必要がある。
  • 通信はiOSアプリ側からしか開始できない。(Pebble側からiOSアプリを起動したりは出来ないようだ)

App Store への Submit について

Pebble | SDK | によると、Pebble は Made For iPhone program の一員であるため、対応アプリを whitelist 化する必要があるらしい。
指示通りに bizdev@getpebble.com にメールしたところ、30分以内で whitelisting guide のPDFが送られてきた。
その文書によると、ユーザが手動で Pebble との通信を start/stop できるように作る必要があるとのこと。
起動時に即つながってはいけないのかもしれない。
また、App Store 提出前に、彼らの審査も通してもらう必要があるようだ。
このあたりはおいおい調査していこう。

2013/06/23 追記

Pebble向けのアプリ対応が大体完成したので、サポートとメールのやりとりを再開したところ、TestFlightかHockeyAppでアプリを送るのは必須な作業らしい。
TestFlightでアプリを送って審査してもらうことにした。

pebble03

関連記事

iOS デバイスサポート最終バージョン

iOS9からGKSession over Bluetoothが無効に なってしまったので Multi

記事を読む

Mac Fan 2020年 6月号

長女のiPhone 6 の画面がバキバキに割れているので、iPhone SE を購入した。

記事を読む

中野の3Dプリンタ屋でPebbleスタンドを出力してきた

中野ブロードウェイの地下に3Dプリンタ屋ができたので、Pebbleスタンドを出力してみた。

記事を読む

no image

イタリア語でレビューをいただきました

おんぷちゃん for iPad にイタリア語でレビューをいただきました。 Ottimo! O

記事を読む

no image

電子書籍を出してみたよ! を買ってみた。

面白そうだったので買ってみた。電子出版に興味のある出版関係者で集まってKindle Storeで日本

記事を読む

no image

アップルのタブレット端末に関するEngadgetのおもろい記事

Engadgetはごくたまに笑いのつぼにヒットするが今回のは面白かった。 ジョブズはタブレット端末に

記事を読む

Apple Special Event 2012

2012年は下記が発表された。 iPhone 5iPod touchiPod nano

記事を読む

Apple Event Sep 2022 Far Out

毎年恒例の Apple Event が 2022/09/07 に行われた。日本時間は 9/8 2:

記事を読む

no image

[iOS開発本] ARC や Storyboardなどを説明した本

ARC や Storyboard を紹介した良い本を教えてほしい、と会社のマニアな人に質問されたので

記事を読む

no image

いまさらながらiPhone Developer Programに加入

iPhoneアプリは、Macを買うと無料で添付されてくる Xcodeと、Webから無料でダウンロード

記事を読む

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"]

→もっと見る

  • 2013年6月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
PAGE TOP ↑