GoogleCast iOS 发件人,v4,未发送消息

GoogleCast iOS sender, v4, not sending messages

在版本 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 在会话开始之前为 nil)。

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)

但是结果总是假的,错误总是"Channel is not connected or is not registered with a session"。 此外,当我这样做时:

print("isConnected1 \(self.textChannel.isConnected)")

结果为假。 你知道我还缺少哪些连接步骤吗?

刚刚得知这是我的命名空间的问题。它现在连接。 问题是名称空间与我的接收器代码中的名称空间不匹配。

fileprivate lazy var textChannel:TextChannel = {
return TextChannel(namespace: NAMESPACE)
}()