2016-03-24 20 views
0

requestedUpdateDidBegin işlevindeki etkinliğimi koşullu olarak yeniden yüklemek veya geçerli zaman çizelgesi girdisinin bitiminden 15 dakika önce bir sonraki denetimi ayarlamak için ClockKit'a söylemek isterim, ancak şu anki durumun ne olduğunu bilmeden bunu nasıl yapabilirim? Sadece aileyi alabilirsiniz geçerli bir komplikasyon içinZaman çizelgesi girişini ve aktif komplikasyon için kullanılan şablonu alın.

if let complications = CLKComplicationServer.sharedInstance().activeComplications { 
     for item in complications { 
      // Get timeline entry and template used? 
     } 
    } 

ancak zaman çizelgesi tarih veya şablon gibi başka bilgiler kullandı:

İşte benim yapmaya çalıştığım şey de bu. Bunu elde etmenin bir yolu var mı?

+0

Güncel komplikasyon için yüzüğü yenilemeye çalışıyorum. Yani aslında geçerli zaman çizelgesi girişini almak ve sona ermeden önce 15 dakika yenilemek istiyorum. Aksi takdirde, halka oldukça hızlı bayatlanır ve her 30 dakikada bir yenilenebilir. Örneğin, dolum oranını göreceli bir tarihle doldurabilirsem hoş olurdu. Komplikasyonum neredeyse bir yüzük olarak görüntülenen bir zamanlayıcı gibidir. – TruMan1

+0

Maalesef, göreceli dolgu payı desteği yok. [Özellik isteğiniz var.] (Https://bugreport.apple.com/) Ancak sadece 'getCurrentTimelineEntryForComplication' sağlıyorsanız (biraz taze tutmak için en az 10 dakikalık zamanlanmış güncelleme aralığı kullanın veya Geçerli giriş tarihini telafi ederek cevapta açıklandığı şekilde güncelleştirin. –

+0

Açıklamalar ve yaklaşım için teşekkürler, mevcut zaman çizelgesi işlevi bahsettiğiniz gibi çalışacaktır. Bu arada bir özellik isteği doldurdum. – TruMan1

cevap

1

The complication server, karmaşık denetleyicinizden veri talep eder, ancak zaman çizelgesi verilerini size sağlamak için tasarlanmamıştır. Sunucudan öğrenebileceğiniz tek şey en erken ve en güncel seyahat tarihleridir.

Zaman çizelgesi girişlerini oluşturmak için kullandığınız orijinal verilerden zaman çizelgesi ayrıntılarını almanız gerekir.

Son girişin sonundan 15 dakika önce güncellemenizin zamanlamasını planlamak için, önceki yeniden yükleme isteğinin bir parçası olarak bunu kolayca planlayabilirsiniz. Komplikasyon sunucusunun istediği en son şey (zaman çizelgesini yeniden yükledikten veya uzattıktan sonra) bir sonraki güncelleme tarihi. komplikasyon sunucusu sadece getTimelineEntriesForComplication:afterDate: gelecekteki zaman çizelgesi girişleri için size sorduğu yana

, daha sonra bir kez getNextRequestedUpdateDateWithHandler anlık olarak çağrılan bu yeni bir tarih dönmek, 15 dakikayla ofset, son zaman çizelgesi girişin tarihi not yapabilirsiniz.

İlgili konular