16

RPSystemBroadcastPickerView用来显示一个选择器视图,用户可以从中选择一个广播服务来记录屏幕。根据文档,preferredExtension应该允许我设置选择器应该显示哪个广播扩展。

代码超级简单:

let broadcastPickerView = RPSystemBroadcastPickerView(frame: CGRect(x: 0, y: 0, width: 51, height: 51))
view.addSubview(broadcastPickerView)
broadcastPickerView.preferredExtension = "com.milan.nosal.broadcast-extension"
broadcastPickerView.backgroundColor = .clear
broadcastPickerView.showsMicrophoneButton = false

我希望选择器提供的扩展包标识符在哪里"com.milan.nosal.broadcast-extension"(我多次检查了它的正确性)。

但是,当点击控件时,首先弹出窗口显示空选择:

在此处输入图像描述

关闭它并再次点击控件后,它会显示正确的扩展名。这仅在安装(或重新安装)应用程序时发生,在它显示之后,它就会一直显示。

这是 iOS 12 测试版错误,还是我做错了什么?我可以“预注册”扩展来解决这个问题吗?

编辑:

发布应用程序后,我们的用户遇到了同样的问题,但这次甚至多次点击控件都没有帮助 - 选择器总是空的!看来扩展安装正确,因为它可以从控制中心启动。

现在正式发布运行。

4

6 回答 6

3

我认为这是苹果的错误,但我测试后在 iOS 12.2 中修复了它。

于 2019-04-12T02:42:17.780 回答
2

在此处输入图像描述

对于可能遇到相同问题的任何人,如果您的扩展部署目标高于您正在使用的设备,则在您尝试开始广播会话时它不会显示该应用程序。为此浪费了一整天。

于 2021-09-10T15:39:25.123 回答
1

我有同样的问题,看起来 Xcode 在如何与您的应用程序一起安装广播扩展方面存在一些问题。对我来说,它仅与调试模式有关。要查看正确的 UI,请尝试以旧方式启用一次广播(控制中心 -> 深度触摸 -> 开始广播),然后在 BroadcastPickerView 中您将看到正确的 UI(您正在推动 iOS 更新有关扩展的信息)。无法在发布模式下重现。

于 2018-10-15T14:45:17.893 回答
1

你可以在这里找到你的确切preferedExtension位置:

图片

当您pickerView.preferredExtension准确添加捆绑标识符时,您的应用程序将显示在录制应用程序列表中。希望这可以帮助!

于 2019-04-26T05:01:01.520 回答
-1

如果我没有设置“.preferredExtension”,我会看到列表中的所有扩展名。我在 iOS12 GM 上测试过。

于 2018-09-14T00:32:08.170 回答
-1

您将 Broadcast Upload Extension 添加到您的项目中并获取该 Extension Bundle Identifier。

如何在您的应用中创建广播上传扩展?

转到 xcode - 文件 - 新建 - 目标 - 广播上传扩展

然后将此行添加到您的应用程序中。当您创建 RPSystemBroadcastPickerView 对象时。

broadCastPicker?.preferredExtension = "com.vikrant.YourApp.Extension"

于 2021-01-30T15:31:45.100 回答