我正在尝试使用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)
}
当我试图发送给会话中的所有用户然后它说'Ambiguous reference to member session':请参阅image
当我检查函数源(单击函数按住命令键)然后它进入Foundation Framework中的NSLock.h
现在我不知道去哪里或做什么!
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
值未展开而导致应用程序崩溃,因为会话未连接 .只是旁注,如果您发布代码和图像,它实际上很困惑 . 我们不知道你的实际问题是什么 . 但是,他们都有明显的问题 .