Есть ли делегаты для мониторинга прогресса при передаче данных из WatchO в iO с помощью WatchConnectivity?
Я использую WatchConnectivity для передачи файлов с Apple Watch на устройство iOS (это направление). Сама передача в порядке. Я отправляю файл из Apple Watch, вызывая функцию передачи файла:
session?.transferFile(url, metadata: metadata)
и я могу сохранить файл на устройстве iOS. Но я хотел бы показать прогресс передачи пользователям на устройстве iOS. Например, пользователь нажимает кнопку "Загрузить файл" на iPhone, и я хотел бы показать некоторую панель прогресса пользовательского интерфейса. Это возможно? Потому что я нашел только этот делегат, который вызывается, когда передача сделана:
func session(_ session: WCSession, didReceive file: WCSessionFile) {
}
0 ответов
В WCSessionFileTransfer
экземпляр, возвращенный
session?.transferFile(url, metadata: metadata)
имеет NSProgress *progress
свойство, вы можете использовать его для отслеживания прогресса в Watch App w/ a NSTimer
экземпляр и отправить живое сообщение (WCSession-sendMessage:...
) в приложение для iPhone, чтобы обновить соответствующие элементы пользовательского интерфейса.
Примечание:
В progress
доступен только с iOS 12.0 и WatchOS 5.0.
API_AVAILABLE(ios(12.0), watchos(5.0))