iOS pebbleネイティブアプリとの通信がどのように行われているのか知りたいです.cloud pebbleを使って時計アプリを作ることはできますが、クラウドシミュレーターとiOS pebbleネイティブとの接続方法がわかりません.
ヘルプリンクまたは何かをいただければ幸いです.Thanks.
iOS pebbleネイティブアプリとの通信がどのように行われているのか知りたいです.cloud pebbleを使って時計アプリを作ることはできますが、クラウドシミュレーターとiOS pebbleネイティブとの接続方法がわかりません.
ヘルプリンクまたは何かをいただければ幸いです.Thanks.
最後に、私はそれを自分で見つけました.@dustin @kirbyに感謝します
デフォルトでは、pebble iOS アプリケーションには開発者向けオプション モード を有効にするオプションがありません。オプションを有効にするには、Bluetooth を使用して Pebble ウォッチを Pebble iOS アプリケーションに接続する必要があります。
いったん有効にすると、ペブル iOS アプリケーションは、クラウド ペブルからペブル ウォッチのインストールをリッスンします (私はクラウド ペブルを使用しています)。
有効にする方法は 2 つあります。
1.クラウド ペブルの編集タブからデバイスを選択します。2.IPアドレスを手動で入力します(ただし、pebble sdkの最新バージョンから削除されたと思います)。
デバイスを Mac コンピュータにプラグインする必要があります。ペブル ウォッチを iPhone デバイスとペアリングする必要があります。
C コードを使用してペブル ウォッチを作成する場合 (私の提案ではcloud pebbleを使用します)
iPhoneデバイスとペブルウォッチと通信したい場合。
サンプルコード: C 言語
iPhoneアプリからデータを受信して見る:
static void inbox_received_callback(DictionaryIterator *iterator, void *context) {
APP_LOG(APP_LOG_LEVEL_INFO, "Message received!");
Tuple *t = dict_read_first(iterator);
while (t != NULL) {
// Long lived buffer
static char s_buffer[64];
APP_LOG(APP_LOG_LEVEL_INFO, "Message ready to get!");
snprintf(s_buffer, sizeof(s_buffer), "'%s'", t->value->cstring);
text_layer_set_text(hello_text_layer, s_buffer);
// Get next pair, if any
t = dict_read_next(iterator);
}
}
時計からiPhoneアプリへのデータ受信:
- (IBAction)send:(id)sender {
[self.watch appMessagesLaunch:^(PBWatch *watch, NSError *error) {
if (!error) {
NSLog(@"Successfully launched app.");
}
else {
NSLog(@"Error launching app - Error: %@", error);
}
}
];
// Register to receive events
[[PBPebbleCentral defaultCentral] setDelegate:self];
// Set UUID
//UUID is must which is available in watch application.
uuid_t myAppUUIDbytes;
NSUUID *myAppUUID = [[NSUUID alloc] initWithUUIDString:@"3c74cf8f-74e5-4975-8ad5-e4b25beea86f"];
[myAppUUID getUUIDBytes:myAppUUIDbytes];
[[PBPebbleCentral defaultCentral] setAppUUID:[NSData dataWithBytes:myAppUUIDbytes length:16]];
NSDictionary *message = @{@(0):@"optisol",
};
NSLog(@"%@",message);
//sending code
[self.watch appMessagesPushUpdate:message onSent:^(PBWatch *watch, NSDictionary *update, NSError *error) {
NSLog(@"getting called");
if (!error) {
NSLog(@"Message sent!!!!!!!!");
}
else
{
NSLog(@"Message not sent!!!!!!!!\n\n%@",error.localizedDescription);
}
}];
//receving code
[self.watch appMessagesAddReceiveUpdateHandler:^BOOL(PBWatch *watch, NSDictionary *update) {
// Process incoming messages
NSLog(@"%@",update);
NSLog(@"received called");
return YES;
}];
}
1. モバイル デバイスとコンピューターは同じネットワークである必要があります 2. ペアリングする必要があります 3. オプション (私 はクロム ブラウザーと Firefox を使用しています)。
サンプルプロジェクトをダウンロードできます..
開発者接続を有効にするには:
モバイル アプリを作成するには:
これに問題がある場合は、すべてのデバイスを再起動して、もう一度やり直してください。
iOS アプリで開発者接続を有効にするだけです。
ここで見つけることができます。http://i.imgur.com/uqNIGpN.png
私の理解が正しければ、コードをコンパイルして物理的なペブル ウォッチで実行しようとしているのですね。
もしそうなら、雲の小石はこれを本当に簡単にします. 携帯電話のペブルアプリと同じペブルクラウドのペブルアカウントにサインインしていることを確認してください。また、携帯電話がインターネットに接続されていることを確認することも賢明です。その後、cloudpebble でアプリケーション プロジェクトを開き、[コンパイル] タブをクリックしてから、[電話] をクリックします。
携帯電話用のペブル アプリを開き、「開発者接続」画面に移動し、有効になっていることを確認します。
すべてが正しく設定されていれば、cloudpebble から「インストールして実行」すると、アプリケーションが自動的に携帯電話にダウンロードされ、時計にプッシュされます。