1

私の iOS アプリでは、次のように時計にメッセージを送信したいと考えています。

NSMutableDictionary *message = @{@(1): @(1),
                                 @(2): @"The String"}
[_watch appMessagesPushUpdate:message onSent:^(PBWatch *watch, NSDictionary *update, NSError *error) {
  if (error != nil)
    NSLog(@"Error sending message: %@", error);
}];

このように送信している場合は機能します。しかし、文字列が長い場合、または辞書に 3 つまたは 4 つ以上のキーを追加した場合、メッセージは配信されません。エラーは「アプリが時間内にメッセージを確認しませんでした」です。

私の小石アプリでは、次のことを行います。

static void message_handler(DictionaryIterator *iter, void *context) {
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Received message.");
  Tuple *msg_type_tuple = dict_find(iter, PebbleMessageKeyType);
  Tuple *msg_value_tuple = dict_find(iter, PebbleMessageKeyValue);
  write_line_on_screen(msg_value_tuple->value->cstring);
}
...
// Set sniff interval.
app_comm_set_sniff_interval(SNIFF_INTERVAL_NORMAL); 

// Register message handlers
app_message_register_inbox_received(message_handler);
app_message_register_inbox_dropped(message_dropped);

// Init buffers
app_message_open(app_message_inbox_size_maximum(), app_message_outbox_size_maximum());
APP_LOG(APP_LOG_LEVEL_DEBUG, "App Message set up.");

私の考えでは、メッセージのサイズと関係があると思います。しかし、メッセージが非常に小さいとは想像できませんか? ToDo リストの例では、app_message_open を使用し、inbox パラメーターに 64、outbox パラメーターに 16 の値を使用していることがわかりました。これはどのような単位を意味しますか? 64文字?メッセージが小石に届いたときのメッセージの大きさを iOS 側で知るにはどうすればよいですか?

4

1 に答える 1