我想知道如何与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/