[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

関連記事

Xcode6 を使うために強制的に Mavericks にアップグレードさせられたら重い

Mavericks の不具合をさけるためにわざわざ Mountain Lion (10.

記事を読む

no image

モンハン3 注文

12月1日に発売されたモンスターハンターポータブル3。 発売日には買えず、ちょっと様子を見ようと思っ

記事を読む

no image

2009年11月発売のiPhone SDK関連書籍

11月も良さそうなiPhone SDK本が次々と発売される。 Mac OS X Cocoa プログラ

記事を読む

no image

Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告

Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告 うちにはこのメールは届いて

記事を読む

no image

[iPhone SDK] UILabel からポップアップメニューを表示してみる

今作っているアプリに UILabel を複数置いた画面があるが、その UILabelたちは編集

記事を読む

no image

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

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

記事を読む

[iPhone 6 Plus] カラビナ付きケースを買ってみた

iPhone5 はカラビナ付きケースに入れて腰に下げていたのだが、まだiPhone 6 Pl

記事を読む

no image

iOS Developer Program 更新(2回目)

4月はじめにiOS Developer Program の期限が切れるので、Apple から

記事を読む

no image

[iPhone UI本] Tapworthy (原書) iPhoneアプリ設計の極意 (翻訳)

O'Reilly から本を紹介するメールが来て、その中で目がとまって結局iPhoneアプリとして購入

記事を読む

Apple Special Event 2010

2010年は、1月に初代 iPad が発表され、6月にWWDCでiPhone4が発表されるという、

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

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

→もっと見る

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