2016-03-21 2 views
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()"); 
    } 
} 
+0

私はSwiftを扱っていませんが、リスナーが 'if'条件の中に追加されたように見えます。これがあなたの問題の原因かもしれません。そこから削除してうまくいけば、あなたのスニペットはiOS Castのサンプルのサンプルと似ています。 – adjuremods

+0

コードは正常です。非常によく似たものを実装しています。間違った質問ですが、あなたがchromecastデバイスと同じネットワークにいることを確認しましたか? –

+0

はい、もちろん私は同じネットワークバディにいます:P – Jitendra

答えて

0

は、あなたが私はあなたのコードを使用しているし、それが完璧に働いたGoogle Cast Registration であなたのアプリケーションを登録した後に受信IDを入力してくださいでした。 デフォルトIDは使用しないでください。それは、代わりにそれのすなわち

kGCKMediaDefaultReceiverApplicationID

let filterCriteria = GCKFilterCriteria(forAvailableApplicationWithID: kReceiverAppID) 

を動作しません、フィルタ基準に合格し、このようにそれを実装するためにIDを入力します。

let chromecastID = "ABC123" // Enter the correct ID here 
let filterCriteria = GCKFilterCriteria(forAvailableApplicationWithID: chromecastID) 
関連する問題