【发布时间】:2019-01-16 03:00:40
【问题描述】:
我已经设置了一个通道来接收来自接收者应用的消息:
import Foundation
import GoogleCast
class GcastChannel: GCKCastChannel {
var gcastDelegate: GcastDelegate?
override func didReceiveTextMessage(_ message: String) {
if let jsonData = message.data(using: .utf8) {
do {
let gcastEvent = try JSONDecoder().decode( GcastEvent.self, from: jsonData)
gcastDelegate?.didReceiveGcastEvent(event: gcastEvent)
} catch {
print("message decode error: \(error)")
}
}
}
}
并在主视图控制器中设置会话管理器和监听器:
func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKCastSession) {
castSession = session
castSession?.add(gcastChannel)
gcastChannel.gcastDelegate = self
}
当应用程序在前台时它可以完美运行,但是当应用程序在后台时,它不再响应事件。此外,当再次将应用置于前台时,应用仍然无法响应正在发送的事件。
当应用在后台时,如何让应用响应事件?
【问题讨论】:
标签: ios iphone swift chromecast google-cast