【发布时间】:2019-06-03 14:11:38
【问题描述】:
我正在尝试使用 google-cast-sdk 让 ChromeCast 在我的 swift 应用程序中工作。当我发现它不起作用时,我尝试了演示应用程序 (CastVideos-ios) 并得到了完全相同的结果(即无法连接)。
我将 CastVideos-Swift 应用程序的包标识符更改为我的包 ID,以便我可以在我的设备上运行它。我在 iOS Dev 门户中仔细检查了我的 App ID 是否启用了 WiFi 功能,当然它在 CastVideos-swift 演示和我自己的应用程序中的 Xcode 项目文件中都启用了。
此外,我多次验证我的 iPhone 与连接到我的电视的 ChromeCast 设备在同一个 WiFI 网络上。我已经使用 YouTube 应用测试了 ChromeCast 设备 - 运行良好。当我点击 YouTube 应用程序中的 ChromeCast 按钮时,它只是扔到我的“客厅电视”上——我什至不问我,我猜是因为只有 1 个 CC 设备。
当我运行 CastVideos-swift 演示应用程序(或我的应用程序)并点击 ChromeCast 按钮时,我收到一个弹出窗口,要求我进行选择,并且只有一个选项“附近的设备” - 从我阅读的内容来看,这个似乎表明已经存在问题,该应用程序将我的 CC 设备视为“访客”,就好像它在不同的 WiFi 上一样,但它不是(同样,YouTube 应用程序有效) - 所以,我点击附近的设备连接失败,所以我输入了代码。应用程序或电视没有任何反应,调试器显示此错误:
[GCKCastDeviceController notifyDidFailToConnectToApplicationWithError:],消息:无法连接到应用程序并出现错误:错误 Domain=com.google.cast.GCKError Code=20 “未找到应用程序” UserInfo={NSLocalizedDescription=未找到应用程序}
此外,它可能很重要(或不重要),但在连接失败之前,我也在记录器中看到了这条消息。
[GCKNNetworkUtils getTwoLowerBytesFromNetworkAddress:],消息:无效的网络地址
最后,我发现当我连接 YouTube 应用程序并投射视频时,我发现这很有趣 - 然后切换到 CastVideos-Swift 演示,当我点击 CC 按钮时,而不是说“附近的设备”,它正确地显示“正在生活Room TV”,在括号下方显示“Youtube”——这似乎表明它知道 YouTube 应用当前正在投射到该设备上)——然而,当我点击 Living Room TV 设备时,我得到了确切的信息同样的错误(YouTube 流媒体继续播放而不会中断)。
我最好的想法是它与我的 App ID 有关,因为我为演示应用使用了与我自己的应用相同的捆绑 ID。但是,除了打开 WiFi 功能之外,我想不出还有什么会导致我到目前为止所读到的失败。
请注意,我读到 YouTube 应用不是一个很好的可发现性测试(它可以访问内部 API?) - 我尝试了另一个启用 ChromeCast 的应用,它运行良好,没有访客模式登录,只是问我选择“客厅电视”,效果很好。
也许这里有人以前见过这个?提前致谢。
【问题讨论】:
-
这可能是一个错误,您可能想在他们的GitHub 或issue tracker 中报告它。
-
我认为您应该禁用访客模式link 并重试。如果它不起作用,您应该反馈给我,我们会尝试另一种方法。
标签: swift google-cast