TransferCurrentComplicationUserInfo недоступен для WCSession?

Это так же просто, как звучит; когда я пытаюсь использовать session.transferCurrentComplicationUserInfo(_:), я получаю сообщение об ошибке, написанное в заголовке слово в слово.

Глядя на документацию (transferCurrentComplicationUserInfo, WCSession) нет указаний на то, что он устарел... плюс, если что-то устарело, об этом говорится в сообщении об ошибке и все равно будет отображаться в IntelliSense Xcode (хотя и с зачеркиванием). Для меня ни то, ни другое не происходит.

Так почему же Xcode говорит, что он недоступен?

Это мой базовый код, который вызывает сообщение об ошибке:

let userInfo: [String:Any] = [:]
let _ = session?.transferCurrentComplicationUserInfo(userInfo)

Для некоторого фона я использую Xcode 10.1 и Swift 4.2. Цель развертывания моего приложения — iOS 9.3, а расширение для часов — watchOS 4.0.


person Philip S    schedule 07.04.2019    source источник
comment
Похоже, что это недоступно для необязательного.   -  person Magnas    schedule 07.04.2019
comment
Нет, это не так   -  person Philip S    schedule 08.04.2019
comment
Вы правильно инициализировали свою WCSession? Не могли бы вы поделиться еще кодом?   -  person bkSwifty    schedule 23.04.2019


Ответы (1)


Вероятно, вы пытаетесь вызвать его из Watch Extension, где он отображается как недоступный.

Функцию transferCurrentComplicationUserInfo можно вызвать только из приложения iOS.

person Sergio    schedule 18.11.2020
comment
Ах, да, это было - никогда не возвращался к этому посту. Файл, который я вызывал, компилировался как для watchOS, так и для iOS, отсюда и ошибка компилятора. В итоге я просто использовал макрос ОС для исправления. - person Philip S; 19.11.2020