Я написал код передачи информации о пользователе, как показано ниже. (Я хочу отправлять сообщения с iPhone для просмотра.)
//iPhone project
if (WCSession.isSupported()) {
session = WCSession.default
session?.delegate = self
session?.activate()}
session!.transferUserInfo(["titles": List_watch,"Colors_watch": c_w])
//Watch project
func session(_ session: WCSession, didReceiveUserInfo userInfo: [String : Any] = [:]) {
//do something}
Это работает, нокогда я использую интерактивный обмен сообщениями, как показано ниже, он не работает.
//iPhone project
if (WCSession.isSupported()) {
session = WCSession.default
session?.delegate = self
session?.activate()}
session!.sendMessage(["titles": List_watch,"Colors_watch": c_w], replyHandler: { replyDict in }, errorHandler: { error in
print("\(error)")
})
//Watch project
func session(_ session: WCSession, didReceiveMessage message: [String: Any], replyHandler: @escaping ([String: Any]) -> Void) {
//do something}
Тогда эта ошибка errorHandler говорит:
Error Domain =WCErrorDomain Code = 7004 "Сеанс WatchConnectivity не активирован."UserInfo = {NSLocalizedRecoverySuggestion = Активировать сеанс WatchConnectivity., NSLocalizedDescription = Сеанс WatchConnectivity не был активирован., NSLocalizedFailureReason = Функция activSession не был вызван.}
Это говорит о том, что сеанс WatchConnectivity не был активирован, однако, когда япросто используйте User Info Transfer, он работает правильно.Поэтому я подумал, что сессия была активирована.Что это за проблема?Кто-нибудь знает?