Всегда получать начальные значения AppSync при отправке новых значений из приложения iOS

Я создаю приложение-компаньон Pebble для приложения iOS. Я установил свой AppSync с некоторыми начальными значениями:

Tuplet initial_values[] = { TupletCString(SYNC_KEY_LANGUAGE, language), TupletCString(SYNC_KEY_TOTAL_AMOUNT, totalAmount), TupletCString(SYNC_KEY_TODAY_AMOUNT, todayAmount), TupletCString(SYNC_KEY_TRIP_NAME, tripName) }; app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values), sync_tuple_changed_callback, sync_error_callback, NULL); 

Проблема в том, что когда я нажимаю новые данные с моего iPhone, начальные значения устанавливаются на мои текстовые слои, а не на отправленные данные:

 static void sync_tuple_changed_callback(const uint32_t key, const Tuple* new_tuple, const Tuple* old_tuple, void* context) { switch (key) { case SYNC_KEY_TRIP_NAME: { text_layer_set_text(tripNameLayer, new_tuple->value->cstring); layer_mark_dirty((Layer *)tripNameLayer); } break; case SYNC_KEY_TOTAL_AMOUNT: { text_layer_set_text(totalAmountLayer, new_tuple->value->cstring); layer_mark_dirty((Layer *)totalAmountLayer); } break; case SYNC_KEY_TODAY_AMOUNT: { text_layer_set_text(todayAmountLayer, new_tuple->value->cstring); layer_mark_dirty((Layer *)todayAmountLayer); //storeData(STORAGE_KEY_TODAY_AMOUNT, (char *)new_tuple->value->cstring); } break; case SYNC_KEY_LANGUAGE: { // DO NOTHING } break; default: { debugMessage("default case"); } break; } } 

Это код, который я использую со стороны iPhone:

  NSDictionary *tripInfo = @{ @(SyncKeyTripName) : @"Denver", @(SyncKeyLanguage) : @"en", @(SyncKeyTotalAmount) : @"154.43", @(SyncKeyTodayAmount) : @"23.50" }; [self.watch appMessagesPushUpdate:tripInfo onSent:^(PBWatch *watch, NSDictionary *update, NSError *error) { if (error) { NSLog(@"error sending update! %@", error); } else { NSLog(@"update: %@", update); } }]; 

Я установил свои кнопки часов, чтобы очистить любые значения в этих слоях, так я знаю, когда приложение получает обновления с телефона.

Почему AppSync постоянно использует старые данные вместо новых данных?

    One Solution collect form web for “Всегда получать начальные значения AppSync при отправке новых значений из приложения iOS”

    Оказывается, это поведение проявляется при вызове функции app_sync_init более одного раза. По какой-то причине я его дважды вызывал, когда приложение настраивается. Как только я удалил посторонний вызов, мои обратные вызовы содержали новые данные, а не начальные.

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.