2014-01-17 42 views
1

收到AppMessage在關注我發送AppMessage這樣不容卵石從iOS上

DictionaryIterator *iter; 
app_message_outbox_begin(&iter); 
Tuplet value = TupletInteger(MESSAGE_TYPE, MESSAGETYPE_REFRESH); 
dict_write_tuplet(iter, &value); 
app_message_outbox_send(); 

我爲自己的應用程序的背景模式和協議,如the tutorial描述。 在iOS中我設置了聽衆這樣的:

[PBPebbleCentral defaultCentral].delegate = self; 
self.watch = [PBPebbleCentral defaultCentral].lastConnectedWatch; 

NSLog(@"Pebble name: %@", _watch.name); 
NSLog(@"Pebble serial number: %@", _watch.serialNumber); 

[_watch appMessagesAddReceiveUpdateHandler:^BOOL(PBWatch *watch, NSDictionary *update) { 
    NSLog(@"Update received!"); 
    return YES; 
}]; 

[_watch appMessagesAddReceiveAllUpdatesHandler:^BOOL(PBWatch *watch, NSUUID *uuid, NSDictionary *update) { 
    NSLog(@"AllUpdate received!"); 
    return YES; 
}]; 

[_watch appMessagesAddAppLifecycleUpdateHandler:^(PBWatch *watch, NSUUID *uuid, PBAppState newAppState) { 
    NSLog(@"AppLifecycleUpdate received!"); 
}]; 

我已經做了從手機發送信息到手錶。這樣就可以工作。但是電話上收到的消息的聽衆不會被調用。 在時鐘上我得到了APP_MSG_SEND_TIMEOUT作爲錯誤代碼。我錯了什麼?

+0

在iOS端,您需要連接到卵石。你做到了嗎? – sarfata

+0

是的。我在我的問題中添加了信息。我也成功地將消息發送到了電話。但其他方式似乎並不奏效。 –

+0

也許你可以分享github上的完整源代碼或要點?這應該工作,我想看看我是否可以重現這個問題。 – sarfata

回答

1

你的手錶應用程序中是否有src/js/pebble-js-app.js?我有同樣的問題,當我刪除這個生成的文件,它開始工作。

+0

不可以。此文件不存在於我的src或build文件夾中。 –

+0

@你好,你能解釋一下嗎?如何開始,從哪裏開始,在哪裏運行溝通? – karthikeyan

0

檢查以確保您使用的

appMessagesAddReceiveUpdateHandler:withUUID: 

代替

appMessagesAddReceiveUpdateHandler: 
0

注意的地方,你把監聽器。例如,如果您使用WeatherDemo應用程序(由Pebble提供),則應在設置應用程序UUID後執行此操作。

// Test if the Pebble's firmware supports AppMessages/Weather: 
    [watch appMessagesGetIsSupported:^(PBWatch *watch, BOOL isAppMessagesSupported) { 
    if (isAppMessagesSupported) { 
     ... 

     [_targetWatch appMessagesAddReceiveUpdateHandler:^BOOL(PBWatch *watch, NSDictionary *update) { 
      NSLog(@"Received message: %@", update); 

      return YES; 
     }]; 
    } else { 
.... 

另一個要注意的是不要把它放在 - (void)pebbleCentral:(PBPebbleCentral*)central watchDidConnect:(PBWatch*)watch isNew:(BOOL)isNew 因爲如果設備已經連接不調用該函數。