iOS 广播扩展(屏幕广播)不起作用
Posted
技术标签:
【中文标题】iOS 广播扩展(屏幕广播)不起作用【英文标题】:iOS Broadcast Extension(Screen Broadcasting) is not Working 【发布时间】:2018-01-18 08:46:07 【问题描述】:我是编程业务和制作应该处理屏幕广播功能的广播应用程序的新手(iPhone 控制中心 --> 广播。就像 Mobcrush)。
所以我尝试实现在 WWDC 上介绍的 Broadcast App Extension,但我的 Demo App 不能正常工作。我的演示应用程序没有广播,只是显示一个错误警报,上面写着“对 MYDemoApp 的直播已停止,原因是:(null)”
这是我在演示应用上所做的事情
实现 App 扩展(BroadCast 扩展。这使得 SampleHandler、BroadcastSetupViewController)
实现应用程序组(设置能力、BundleIdentifier、 在 Developer.Apple.com 中设置应用组和配置文件)
Pod 安装并复制我没有从其他开发者的演示应用程序 (HaishinKit) 编写的代码 (https://github.com/shogo4405/HaishinKit.swift)
将 RTMP URL 字符串放入 BroadcastSetupViewController 的 userDidFinishSetup() 中 (这个应用是Demo,所以我只放了我自己的RTMP地址和流密钥。像这样:rtmp://bc.CompanyName.tv/app/VeryLongStreamKey)
另外,我认为这不是 RTMP URL 问题。因为我已经使用该 URL 进行了 Camera(Front, Rear) 广播测试(不是应用程序扩展。只是在简单的 ViewController 中)。
你能告诉我一个提示吗?任何反馈都将不胜感激!
感谢您阅读我关于编码的第一个问题。
This is an Alert That I Saw
【问题讨论】:
警报似乎出现了很多。每当应用程序内存不足时,我都会遇到这种情况。 阅读您的回复后,我检查了 Debug Navigator。我看到我的演示应用程序消耗 15MB 内存。 这不仅仅是因为那个,有时是因为任何其他意外的停止 嘿@JunYoungJee 我正在尝试相同的功能,但我收到 [错误] 无法确定 URL /broadcast (n) 是否由文件提供程序管理错误我用作广播的任何 url网址。知道出了什么问题吗? 【参考方案1】:我发现ios广播扩展有很多限制。 - 如果扩展由容器应用程序通过 API 启动,当应用程序进入后台时网络会关闭。 - 无法访问文件。 - 资产访问是不可能的。 - Swift print() 什么都不做。使用 NSLog() 和 idevicesyslog。 - Xcode“通过 PID 或名称附加到进程...”有效。
如果您收到“由于 (null)”错误,请通过附加进程在 Xcode 上进行调试。 或者把 NSLog() 放到 idevicesyslog 中查看。
【讨论】:
以上是关于iOS 广播扩展(屏幕广播)不起作用的主要内容,如果未能解决你的问题,请参考以下文章