2

我是编程业务和制作应该处理屏幕广播功能的广播应用程序的新手(iPhone 控制中心 --> 广播。就像 Mobcrush 一样)。

所以我尝试实现在 WWDC 上介绍的 Broadcast App Extension,但是我的 Demo App 不能正常工作。我的演示应用程序没有广播,只是向我显示一个错误警报,上面写着“对 MYDemoApp 的直播已停止,原因是:(null)”

这是我在演示应用上所做的事情

  1. 实现应用扩展(BroadCast 扩展。这使得 SampleHandler、BroadcastSetupViewController)

  2. 实现 App Group(在 Developer.Apple.com 中设置 Capability、BundleIdentifier、设置 App Groups 和 Provisioning Profile)

  3. Pod 安装并复制了我没有从其他开发者的演示应用程序 (HaishinKit) 编写的代码 ( https://github.com/shogo4405/HaishinKit.swift )

  4. 将 RTMP URL 字符串放在 BroadcastSetupViewController 的 userDidFinishSetup() 中(这个应用程序是 Demo,所以我只放了我自己的 RTMP 地址和流密钥。像这样:rtmp://bc.CompanyName.tv/app/VeryLongStreamKey)

另外,我认为这不是 RTMP URL 问题。因为我已经使用该 URL 进行了 Camera(Front, Rear) 广播测试(不是应用程序扩展。只是在简单的 ViewController 中)。

你能告诉我一个提示吗?对于任何反馈,我们都表示感谢!

感谢您阅读我关于编码的第一个问题。

这是我看到的警报

4

1 回答 1

2

我发现 iOS 广播扩展有很多限制。- 如果扩展由容器应用程序通过 API 启动,当应用程序进入后台时网络会关闭。- 无法访问文件。- 资产访问是不可能的。- Swift print() 什么都不做。使用 NSLog() 和 idevicesyslog。- Xcode“通过PID或名称附加到进程......”有效。

如果您收到“由于(null)”错误,请通过附加进程在 Xcode 上进行调试。或者放 NSLog() 并通过 idevicesyslog 查看。

于 2018-03-06T18:58:26.600 回答