Синхронизировать текстовое представление с Pebble

Можно ли синхронизировать UITextView в приложении iPhone с текстовым слоем на моем Pebble?

Я просто хочу показать String на часах Pebble.

1 ответ

Это можно сделать с помощью AppSync API, который построен поверх AppMessage специально для обеспечения системы, подходящей для синхронизации пользовательского интерфейса. Следующий пример взят из раздела AppSync в этом официальном руководстве и показывает сторону watchapp:

  1. Для синхронизации полей наблюдения ваше приложение должно объявлять размеры входного и выходного буфера в байтах.

    const int inbound_size = 64;
    const int outbound_size = 64;
    app_message_open(inbound_size, outbound_size);
    
  2. Подготовьте начальные значения ваших данных.

    Tuplet initial_values[] = {
      TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
      TupletCString(WEATHER_TEMPERATURE_KEY, "42°C"),
    };
    
  3. Зарезервируйте глобальную память для хранения структуры AppSync и вашего словаря.

    #include <...>
    
    AppSync sync;
    uint8_t sync_buffer[32];
    
  4. Инициализируйте синхронизацию.

    app_sync_init(&sync, sync_buffer, sizeof(sync_buffer),
                  initial_values, ARRAY_LENGTH(initial_values),
                  sync_tuple_changed_callback, sync_error_callback, NULL);
    
  5. Обработайте первое и последующее обновление.

    void sync_tuple_changed_callback(const uint32_t key,
           const Tuple* new_tuple, const Tuple* old_tuple, void* context)
    {
      // Update your layers
      // Don't forget to call layer_mark_dirty()
    }
    
  6. Наконец, вы можете обновить значение на стороне часов. Обратный вызов вызывается, когда приложение было подтверждено.

    Tuplet new_tuples[] = {
      TupletInteger(WEATHER_ICON_KEY, (uint8_t) 3),
      TupletCString(WEATHER_TEMPERATURE_KEY, "73°C"),
    };
    
    app_sync_set(&sync, new_tuples, 2);
    

Я не разработчик для iOS, поэтому я не могу вам чем-то помочь с Objective C, но в статье, которую я связал выше, предлагается прочитать приложение iOS WeatherDemo, которое поставляется с SDK для полного примера.

Другие вопросы по тегам