What is the difference between transferCurrentComplicationUserInfo
and transferUserInfo
?
I want to send data from my AppDelegate to a clock kit complication.
transferCurrentComplicationUserInfo
seems to do exactly the same thing as transferCurrentUserInfo
. Am I missing something?
The distinction between these two
WCSession
methods involve when the data is sent, and whether the watchkit extension is woken up or not.transferCurrentComplicationUserInfo:
is specifically designed for transferring complication user info meant to be shown on the watch face right now.transferUserInfo:
queues up information, to be transferred when the system determines it's a good time to process the queue:More details can be found in the WWDC 2015 Introducing Watch Connectivity video.
Update for iOS 10:
In iOS 10,
WCSession
adds aremainingComplicationUserInfoTransfers
property which can affect which method that iOS will use to transfer the user info:To my knowledge: TransferCurrentComplicationUserInfo has the same functionality as transferCurrentUserInfo when called form the parent app app delegate, however, the TransferCurrentComplicationUserInfo also calls CLKServer......etc to update the complication. I have to say I find both unreliable and I'm struggling with TransferCurrentComplicationUserInfo to update my app. Doesn't always seem to work. The annoying thing is that it varies between build without changing the code which technically shouldn't be possible. oh well...