我正在尝试使用openTok(Swift 3)创建一个聊天应用程序但是在向会话中的其他用户发送消息时遇到问题。我确实收到其他用户的连接但无法发送消息。我自己收到了它,而不是发送信息。我试图将它发送给一个人,如下所示:
func sendMessage() {
session = OTSession(apiKey: ApiKey, sessionId: SessionID, delegate: self)
session?.signal(withType: "Chat", string: "Hi", connection: (session?.connection)!, retryAfterReconnect: true, error: nil)
}
当我尝试向会话中的所有用户发送时,它会显示对成员会话的不明确的引用':请参阅image
当我检查函数源(单击函数按住命令键)然后它转到Foundation Framework中的NSLock.h
现在我不知道去哪里或做什么!
答案 0 :(得分:1)
确实,@ wobbals是正确的。首先,您必须先致电open func connect(withToken token: String!, error: AutoreleasingUnsafeMutablePointer<OTError?>!)
并接收public func sessionDidConnect(_ session: OTSession!)
,以便session
对象发送信号。请记住记录错误,以便您了解失败时会发生什么。
如果您将nil
传递给连接参数,则从文档中,连接的会话将广播到每个连接,包括您自己。我认为,如果会话未连接,由于session?.signal(withType: "Chat", string: "Hi", connection: (session?.connection)!, retryAfterReconnect: true, error: nil)
nil
值nil
而导致session?.connection
对象展开,此行transparent_black
会导致应用程序崩溃。
只是旁注,如果你发布代码和图像,它实际上很困惑。我们不知道你的实际问题是什么。但是,他们都有明显的问题。