我正在开发一个IOS swift应用程序,它将允许用户记录整个屏幕,任何应用程序,甚至主屏幕。
为了做到这一点,我在我的应用中添加了一个广播上传扩展。
首先,我使用了RPSystemBroadcastPickerView类,以便在我的视图中添加一个record按钮,允许用户打开record弹出窗口并选择他想要将屏幕流广播到哪个应用程序。它工作得很好:

但我想避免这一步,在应用程序启动时直接打开弹出窗口。
因此,我编写了以下代码来实现此目的:
RPBroadcastActivityViewController.load(withPreferredExtension: "ch.jroueche.RecordApp.TestScreen", handler: {broadcastAVC,error in
guard error == nil else {
print("Cannot load Broadcast Activity View Controller.")
return
}
if let broadcastAVC = broadcastAVC {
broadcastAVC.delegate = self
self.present(broadcastAVC, animated: true, completion: {
// broadcastactivityviewcontroller will perform the callback when the broadcast starts (or fails)
print("I've START")
})
}
})与RPSystemBroadcastPickerView解决方案的enter code here不同,我得到了以下错误:

找不到首选的广播服务。
我的问题类似于下面的帖子:App not showing up as a broadcast service in RPBroadcastActivityViewController
我还添加了扩展,并且首选的扩展标识符是正确的。
为什么可以使用RPSystemBroadcastPickerView而不是以编程方式使用RPBroadcastActivityViewController类。这对我来说没有任何意义。
有没有人知道可能是什么问题,我该如何解决它?或解决方法,以便进行此屏幕记录。
提前感谢
发布于 2021-03-08 23:20:55
看起来RPBroadcastActivityViewController只显示Broadcast Setup UI Extension,而RPSystemBroadcastPickerView只显示Broadcast Upload Extension。但我不知道为什么,因为它们都是为了显示可用提供商/服务的列表。
如果有人能带来更多关于这个主题的细节,那将是非常有帮助的。
https://stackoverflow.com/questions/65658319
复制相似问题