ReplayKit的RPSystemBroadcastPickerView没有显示preferredExtension

问题描述 投票:11回答:4

我正在使用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"是我希望选择器提供的扩展的包标识符(我多次检查其正确性)。

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

enter image description here

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

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

编辑:

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

现在正式发布。

ios swift ios12 replaykit
4个回答
0
投票

我认为这是苹果公司的错误,但在我测试之后,它已在iOS 12.2中得到修复。


1
投票

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


0
投票

你可以在这里找到你的preferedExtension

当您将pickerView.preferredExtension完全添加到Bundle Identifier时,您的应用程序将显示在Recording App List上。希望这可以帮助!


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.