gpt4 book ai didi

ios - 使用广播 UI 扩展显示 UI(可能是 Storyboard)

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:57 24 4
gpt4 key购买 nike

我对 IOS 编程有点陌生,我正在尝试使用 Replaykit 开始直播,我在从 App 调用广播服务选择器 View 以及创建 2 个扩展(广播上传扩展和广播 UI 扩展)。显然,一旦从选择器 View 中选择了扩展,就应该加载 Broadcast UI 扩展,而另一个在广播开始后接收数据,我首先尝试通过创建 Storyboard并为其提供相同的自定义类来创建 View 使用 Broadcast UI 扩展,但是当我从选择器 View 中单击扩展时,我立即收到错误 The user declined application recording (不确定我是否遗漏了此处的任何步骤),得到没有 Storyboard也是同样的错误,我在广播 UI 扩展 View Controller 的 override func viewDidLoad() 中尝试了 print() 并且在调试区域没有日志所以我甚至根本不知道它是否已加载。

我需要的是显示简单的 UI,然后调用 Broadcast UI 扩展 View Controller 函数 (func userDidFinishSetup()),然后开始广播。如果可以在没有 UI 的应用程序中直接启动广播,我也会接受,在 Replaykit docs 中我看到一个我认为可以实现此目的的 startBroadcast 函数,得到一个 broadcastInvalidSession = -5808 错误,这意味着我“试图在没有事先 session 的情况下开始广播”。非常感谢帮助,谢谢。

广播 UI View Controller

import ReplayKit

class BroadcastSetupViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("WASSUP?");
}

// Call this method when the user has finished interacting with the view controller and a broadcast stream can start
func userDidFinishSetup() {
print("GET IN!!!");
// URL of the resource where broadcast can be viewed that will be returned to the application
let broadcastURL = URL(string:"http://apple.com/broadcast/streamID")

// Dictionary with setup information that will be provided to broadcast extension when broadcast is started
let setupInfo: [String : NSCoding & NSObjectProtocol] = ["broadcastName": "example" as NSCoding & NSObjectProtocol]

// Tell ReplayKit that the extension is finished setting up and can begin broadcasting
self.extensionContext?.completeRequest(withBroadcast: broadcastURL!, setupInfo: setupInfo)
}

func userDidCancelSetup() {
let error = NSError(domain: "YouAppDomain", code: -1, userInfo: nil)
// Tell ReplayKit that the extension was cancelled by the user
self.extensionContext?.cancelRequest(withError: error)
}
}

最佳答案

所以我联系了 Apple 技术支持事件(很遗憾),他们建议我将“NSExtensionMainStoryboard”添加到广播 UI 扩展的 info.plist 中,类似于 Greg 的回答,当那不起作用时我发送了我的代码并我们发现我还必须从阻止它加载的相同位置删除“NSExtensionPrincipalClass”键,之后它工作正常。

关于ios - 使用广播 UI 扩展显示 UI(可能是 Storyboard),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54727509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com