Всегда получать начальные значения 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 более одного раза. По какой-то причине я его дважды вызывал, когда приложение настраивается. Как только я удалил посторонний вызов, мои обратные вызовы содержали новые данные, а не начальные.

    Interesting Posts

    как я могу проверить, поврежден ли загруженный образ или нет в приложении iOS?

    SVProgressHUD – Отображение / Скрытие элемента управления быстро заставляет его не появляться в следующий раз, когда вызывается showWithStatus

    Как играть в AVSpeechSynthesizer через динамик приемника вызовов?

    AFHTTPSessionManager использовать службу на основе SOAP

    Как ускорить тесты пользовательского интерфейса в Xcode?

    Можно ли назвать release в объекте Objective C?

    Получить индексную ячейку ячейки в центре коллекцииView в swift?

    iOS: динамическая высота UILabel с использованием sizeWithFont: constrainedToSize: lineBreakMode: не работает

    Проблема с MPMoviePlayer

    Передача UDP с использованием CFSocket на IOS

    Эффект Pinch To Zoom для UIImageView внутри scrollView?

    Xcode может использовать только рефакторинг C и Objective-C. Как переименовать название быстрого слова в Xcode 6?

    iOS push notification: как определить, прослушивает ли пользователь уведомление, когда приложение находится в фоновом режиме?

    Передача объекта с помощью prepareForSegue Swift

    iphone: ubercab aka (uber) координата карты

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