1
呼び出されないばかり決して、しかしそのデリゲートメソッドは、Loggerがステータスで接続可能ですキャストデバイスのメッセージを表示した場合でも呼ば取得されていませんコードGoogleCast deviceDidComeOnline(デバイス:!GCKDevice)のViewControllerに<strong>GCKDeviceScannerListener</strong>シングルトンクラスを実装#GoogleCastSDK
GCKDeviceScannerListenerのdeviceDidComeOnlineメソッドが呼び出されません。
は、いずれかの助けが
class ViewController: UIViewController, GCKDeviceScannerListener, GCKDeviceManagerDelegate, GCKMediaControlChannelDelegate {
private var deviceScanner: GCKDeviceScanner!
private var selectedDevice:GCKDevice!
private var deviceManager:GCKDeviceManager!
private var mediaInformation:GCKMediaInformation!
private var kReceiverAppID = kGCKMediaDefaultReceiverApplicationID
override func viewDidLoad() {
super.viewDidLoad()
self.startScan()
}
func startScan() {
let filterCriteria = GCKFilterCriteria(forAvailableApplicationWithID: kReceiverAppID)
self.deviceScanner = GCKDeviceScanner(filterCriteria: filterCriteria)
if let deviceScanner = self.deviceScanner {
deviceScanner.addListener(self)
deviceScanner.startScan()
print("scanning started")
deviceScanner.passiveScan = true
}
}
// MARK: GCKDeviceScannerListener
func deviceDidComeOnline(device: GCKDevice!) {
print("deviceDidComeOnline()")
print("Device found: \(device.friendlyName)");
self.updateButtonStates()
}
func deviceDidGoOffline(device: GCKDevice!) {
print("deviceDidGoOffline()")
print("Device went away: \(device.friendlyName)");
self.updateButtonStates()
}
func deviceDidChange(device: GCKDevice!) {
print("deviceDidChange()");
}
}
私はSwiftを扱っていませんが、リスナーが 'if'条件の中に追加されたように見えます。これがあなたの問題の原因かもしれません。そこから削除してうまくいけば、あなたのスニペットはiOS Castのサンプルのサンプルと似ています。 – adjuremods
コードは正常です。非常によく似たものを実装しています。間違った質問ですが、あなたがchromecastデバイスと同じネットワークにいることを確認しましたか? –
はい、もちろん私は同じネットワークバディにいます:P – Jitendra