CloudPebble模拟器与iOS pebble原生应用程序?

时间:2015-06-09 08:03:32

标签: ios iphone pebble-sdk cloudpebble

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

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

3 个答案:

答案 0 :(得分:1)

如果我正确理解您,您是否正在尝试让您的代码在您的实体鹅卵石手表上编译和执行,对吗?

如果是这样,那么云卵石让这很容易。确保您在Pebble云中签署了相同的卵石帐户,就像您在手机上的卵石应用程序中一样。确保您的手机具有互联网连接也是明智之举。后记在cloudpebble中打开您的应用程序项目,单击编译选项卡,然后单击" phone"。

现在打开手机的pebble应用程序,然后进入" Developer Connection"屏幕,并确保它已启用。

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

答案 1 :(得分:1)

您只需在iOS应用上启用开发人员连接即可。

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

答案 2 :(得分:1)

最后我发现它是我的自我感谢@dustin @kirby

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

一旦你搞砸了,pebble iOS应用程序将从云卵石中听你的卵石手表安装。(我正在使用云卵石)。

有两种方法可以让它充实。

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

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

如果您使用c代码创建pebble watch(我的建议使用cloud pebble

如果您想与iPhone设备和鹅卵石手表进行通信。

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

如果您遇到问题,请重启所有设备,然后重试。