Fix iOS archive for VLCKit 4 and Events play sheet binding.

Unblocks TestFlight 0.5.36 after media.parse/.buffering API removals and optional EventPlayItem Binding inference.
This commit is contained in:
Jos Vooges | STH 2026-09-21 03:09:27 +02:00
parent 9c62052663
commit ddf5ae7f8f
2 changed files with 10 additions and 4 deletions

View file

@ -168,7 +168,11 @@ final class VLCPlayerController: NSObject, ObservableObject, VLCMediaPlayerDeleg
media.addOption(":freetype-rel-fontsize=\(Self.subtitleRelFontSize)") media.addOption(":freetype-rel-fontsize=\(Self.subtitleRelFontSize)")
media.addOption(":freetype-bold=1") media.addOption(":freetype-bold=1")
mediaPlayer.media = media mediaPlayer.media = media
_ = media.parse(options: VLCMediaParsingOptions(rawValue: 0x02 | 0x08)) // network + fetchLocal // VLCKit 4: parse is on VLCMediaParser, not VLCMedia
_ = VLCMediaParser.shared().queue(
media,
options: VLCMediaParsingOptions(rawValue: 0x02 | 0x08) // network + fetchLocal
)
mediaPlayer.play() mediaPlayer.play()
applySubtitleStyle() applySubtitleStyle()
if startMs > 2000 { if startMs > 2000 {
@ -583,7 +587,6 @@ final class VLCPlayerController: NSObject, ObservableObject, VLCMediaPlayerDeleg
self.invalidatePipPlaybackState() self.invalidatePipPlaybackState()
} }
switch newState { switch newState {
case .buffering: self.stateText = "Bufferen…"
case .opening: self.stateText = "Openen…" case .opening: self.stateText = "Openen…"
case .playing: case .playing:
self.stateText = "Afspelen" self.stateText = "Afspelen"

View file

@ -595,8 +595,11 @@ struct EventDetailScreen: View {
now = date now = date
Task { await refreshEvent() } Task { await refreshEvent() }
} }
.fullScreenCover(item: Binding( .fullScreenCover(item: Binding<EventPlayItem?>(
get: { playInfo.map { EventPlayItem(info: $0) } }, get: {
guard let playInfo else { return nil }
return EventPlayItem(info: playInfo)
},
set: { playInfo = $0?.info } set: { playInfo = $0?.info }
)) { item in )) { item in
if let url = URL(string: item.info.streamUrl) { if let url = URL(string: item.info.streamUrl) {