我想知道如何与iOS pebble本机应用程序进行通信。我可以使用cloud pebble创建手表应用程序,但是我不知道如何在云模拟器和iOS pebble本机之间建立连接。

任何帮助链接或任何事情将不胜感激。

最佳答案

终于我找到了我的自我。感谢@dustin @kirby

默认情况下,Pebble iOS应用程序没有选项启用开发人员选项模式
要启用选项,您需要使用蓝牙将pebble手表与pebble iOS应用程序连接。

启用后,Pebble iOS应用程序将从Cloud Pebble监听您的Pebble Watch安装。(我正在使用Cloud Pebble)。

有两种方法可以实现它。

1.从pebble的“编译”选项卡中选择您的设备。
2.手动输入IP地址(但我认为它已从最新版本的pebble sdk中删除)。

您应该使用Mac电脑插入设备。
您应该将Pebble手表与iPhone设备配对。

如果您使用C代码创建pebble手表(我的建议使用cloud pebble)

如果您想与iPhone设备和Pebble手表进行通讯。

Follow here

示例代码为: 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.optional(我正在使用Chrome浏览器和Firefox)。

您可以下载示例项目。

Source

启用开发者连接:

Here

编写移动应用程序:

Here

如果您对此有疑问,请重新启动所有设备,然后重试。

关于ios - CloudPebble模拟器与iOS Pebble native 应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30726290/

10-12 14:26