Skip to content

Commit c3ee701

Browse files
ladvochiroshihorie
andauthored
Deprecate public broadcast picker extension (#586)
Public show method defined as an extension to `RPSystemBroadcastPickerView` has been deprecated in favor of `BroadcastManager.shared.requestActivation()`. --------- Co-authored-by: Hiroshi Horie <[email protected]>
1 parent 0da6660 commit c3ee701

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

.nanpa/make-extension-private.kdl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
patch type="deprecated" "Deprecated public method to show broadcast picker"

Sources/LiveKit/Broadcast/BroadcastManager.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ public final class BroadcastManager: Sendable {
7070
///
7171
public func requestActivation() {
7272
Task {
73-
await RPSystemBroadcastPickerView.show(
74-
for: BroadcastBundleInfo.screenSharingExtension,
75-
showsMicrophoneButton: false
73+
await RPSystemBroadcastPickerView.showPicker(
74+
for: BroadcastBundleInfo.screenSharingExtension
7675
)
7776
}
7877
}
@@ -116,4 +115,17 @@ public protocol BroadcastManagerDelegate {
116115
func broadcastManager(didChangeState isBroadcasting: Bool)
117116
}
118117

118+
private extension RPSystemBroadcastPickerView {
119+
/// Convenience function to show broadcast picker.
120+
static func showPicker(for preferredExtension: String?) {
121+
let view = RPSystemBroadcastPickerView()
122+
view.preferredExtension = preferredExtension
123+
view.showsMicrophoneButton = false
124+
125+
let selector = NSSelectorFromString("buttonPressed:")
126+
guard view.responds(to: selector) else { return }
127+
view.perform(selector, with: nil)
128+
}
129+
}
130+
119131
#endif

Sources/LiveKit/Track/Support/Extensions.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ public extension CGImage {
100100
@available(iOS 12, *)
101101
public extension RPSystemBroadcastPickerView {
102102
/// Convenience function to show broadcast extension picker
103+
@available(*, deprecated, message: "Use BroadcastManager.shared.requestActivation() instead")
103104
static func show(for preferredExtension: String? = nil,
104105
showsMicrophoneButton: Bool = true)
105106
{

0 commit comments

Comments
 (0)