在版本2上,发件人应用程序能够发送邮件。
func deviceManager(_ deviceManager: GCKDeviceManager!,
didConnectToCastApplication
applicationMetadata: GCKApplicationMetadata!,
sessionID: String!,
launchedApplication: Bool) {
deviceManager.add(self.textChannel)
}
然而,API说我们现在使用的是GCKSessionManager而不是GCKDeviceManager。
API说我必须有一个GCKSession添加textChannel,我在这里做了: 会话开始后,我添加了textChannel(因为sessionManager.currentCastSession在会话开始之前是零)。
func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKSession) {
if session.device == connectionQueue {
connectionQueue = nil
}
self.sessionManager!.currentCastSession!.add(textChannel)
print("")
}
同时,我在另一个函数中发送短信:
let result = self.textChannel.sendTextMessage("\(self.textField.text)", error: &error)
但结果始终为false,错误始终为" Channel未连接或未注册会话"。 另外,当我这样做时:
print("isConnected1 \(self.textChannel.isConnected)")
结果是假的。 你知道我想要连接的其他步骤是什么吗?
答案 0 :(得分:1)
刚刚得知这是我的命名空间问题。它现在连接。 问题是命名空间与我的接收器代码中的命名空间不匹配。
fileprivate lazy var textChannel:TextChannel = {
return TextChannel(namespace: NAMESPACE)
}()