如何在 iPad 上展示 RPBroadcastActivityViewController。
我正在使用标准代码开始录制
RPBroadcastActivityViewController.load { [unowned self] (broadcastActivityViewController, error) in
// If an error has occurred, display an alert to the user.
if let error = error {
self.showAlert(message: error.localizedDescription)
return
}
// Present vc
if let broadcastActivityViewController = broadcastActivityViewController {
broadcastActivityViewController.delegate = self
// present
self.present(...
}
}
可以在 iPhone 上运行,但在 iPad 上没有任何显示,并且应用程序会冻结。我一直在查看应用商店中使用此功能的游戏,我发现了同样的问题。
例如,在游戏 Tower Dash 中,按下 iPad 上的直播按钮时不会显示任何内容,它仅适用于 iPhone。
我一直在尝试使用 popover 演示文稿,但似乎没有任何效果。
我错过了什么吗?
更新:这似乎是一个错误。即使在苹果自己的 Swift Playground 应用程序中也会发生这种情况。
UPDATE2:Apple 实际上已经回复了我的错误报告并告诉我我需要将 iPad 上的 View Controller 呈现为像这样的弹出框
UIDevice.current.userInterfaceIdiom == .pad {
broadcastAVC.popoverPresentationController?.sourceView = view
broadcastAVC.popoverPresentationController?.sourceRect = CGRect(x: view.bounds.midX, y: view.bounds.midY, width: 0, height: 0)
broadcastAVC.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0) // no arrow
}
但是它仍然对我不起作用。正如我提到的,这发生在苹果自己的 Swift Playground 应用程序上,所以它一定是一个错误。
固定的:
我忘了在上面提到的代码中添加这一行
broadcastAVC.modalPresentationStyle = .popover