1

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

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

4

3 回答 3

1

如果我对您的理解正确,您正试图让您的代码在您的物理 pebble 手表上编译和执行,对吗?

如果是这样,那么云卵石使这变得非常容易。确保您在 pebble 云中登录到与手机上的 pebble 应用程序中相同的 pebble 帐户。确保您的手机有互联网连接也是明智之举。后记在cloudpebble中打开你的应用项目,点击编译选项卡,然后点击“手机”。

现在打开手机的 pebble 应用程序并进入“开发者连接”屏幕,并确保它已启用。

如果一切设置正确,现在当您从 cloudpebble“安装并运行”时,应用程序将自动下载到您的手机并推送到您的手表上。

于 2015-06-10T07:12:06.017 回答
1

您只需要在您的 iOS 应用上启用开发者连接。

你可以在这里找到它。http://i.imgur.com/uqNIGpN.png

于 2015-06-11T19:25:11.433 回答
1

最后我找到了我自己。感谢@dustin @kirby

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

启用后,pebble iOS 应用程序将从云 pebble 监听您的 pebble 手表安装。(我正在使用云 pebble)。

有两种方法可以启用它。

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

你应该用你的 Mac 电脑插入你的设备。您应该将您的卵石手表与您的 iPhone 设备配对。

如果您使用 c 代码创建卵石手表(我的建议使用云卵石

如果您想与您的 iPhone 设备和 pebble 手表进行通信。

关注这里

示例代码: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.可选(我使用的是 chrome 浏览器和 firefox)。

您可以下载示例项目..

资源

要启用开发人员连接:

这里

编写移动应用程序:

这里

如果您对此有疑问,只需重新启动所有设备并重试。

于 2015-06-25T10:26:44.730 回答