Мне нужен пользовательский вид для отображения доступных устройств и подключения. Я использовал GCKDiscoveryManager. который возвращает GCKDevice.
Теперь, когда я пытаюсь начать новый сеанс с устройством, каждый раз происходит сбой. Вот мой код:
let sessionManager = GCKCastContext.sharedInstance().sessionManager
var devices = [GCKDevice](){
didSet{
discoveryTableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
GCKCastContext.sharedInstance().discoveryManager.add(self)
GCKCastContext.sharedInstance().discoveryManager.startDiscovery()
sessionManager.add(self)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let device = devices[indexPath.row]
print(sessionManager.startSession(with: device))
}
Сейчас работает только обнаружение устройств.
extension DevicesViewController: GCKDiscoveryManagerListener, GCKSessionManagerListener{
func didUpdateDeviceList() {
print("did update here")
}
func didInsert(_ device: GCKDevice, at index: UInt) {
self.devices.append(device)
}
func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKSession) {
sessionManager.currentCastSession!.add(textChannel)
print("session started")
}
func sessionManager(_ sessionManager: GCKSessionManager, didStart session: GCKCastSession) {
print("cast session started")
}
func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKSession, withError error: Error) {
print(error.localizedDescription)
}
func sessionManager(_ sessionManager: GCKSessionManager, didFailToStart session: GCKCastSession, withError error: Error) {
print(error.localizedDescription)
}
}
Я уже реализовал необходимые коды в AppDelegate.swift в соответствии с документацией.