Benötigen Sie Hilfe: Swiftui MacOS -Bildschirmrekorder stürzt abIOS

Programmierung für iOS
Guest
 Benötigen Sie Hilfe: Swiftui MacOS -Bildschirmrekorder stürzt ab

Post by Guest »

🛑 Hilfe benötigen: Swiftui macOS -Bildschirmrekorder stürzt aufgrund von Metall/SCStream -Problemen 🛑
Hey Swiftui Community! 👋 < /p>
Ich erstelle einen MacOS-Bildschirmrekorder mit Swiftui + ScreencaptureKit (SCStream) + Avfoundation, aber ich kann anhaltende Abstürze und metallbezogene Probleme konfrontiert. < /P>
⚠️ Problemen aufgenommen: < /p>

Absturz aufgrund von [mtLigacceldevice SupportSdynamicAttributestride]
Fehler: PGSQLCOPYEDIT *** APP -APP aufgrund einer ungekausverwandten Ausnahme ' NsinvalidargumentException ', Grund:'-[MtLigacceldevice SupportSdynamicAttributestrid]: Nicht anerkannter Selektor, der an Instanz gesendet wurde '< /p>
< /blockquote>
scheint mit Metall-Rendering verbunden zu sein, aber ich verwende keinen Metall Explizit. passiert, wenn ich den scstream starte. Versorgt: < /p>
✅ Deaktiviertes Metallwechsel in Core Image
✅ TCC -Berechtigungen zurücksetzen Richtige SCStreamConfiguration -Setup < /p>
📌 Code -Snippet: SetupStream () < /p>
swiftCopyEditfunc setupStream() {
Task(priority: .userInitiated) {
do {
let content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)

guard let display = content.displays.first else {
await MainActor.run { self.error = .streamSetupFailed }
return
}

let filter = SCContentFilter(display: display, excludingApplications: [], exceptingWindows: [])
let configuration = SCStreamConfiguration()
configuration.width = 1920
configuration.height = 1080
configuration.minimumFrameInterval = CMTime(value: 1, timescale: 60)
configuration.capturesAudio = true

let newStream = SCStream(filter: filter, configuration: configuration, delegate: nil)

try await MainActor.run {
try newStream.addStreamOutput(self, type: .screen, sampleHandlerQueue: self.videoQueue)
try newStream.addStreamOutput(self, type: .audio, sampleHandlerQueue: self.audioQueue)
}

self.stream = newStream
try await stream?.startCapture()

} catch {
await MainActor.run { self.error = .streamSetupFailed }
}
}
}
< /code>
🆘 Fragen: < /p>
Wie kann ich das Metall -Rendering richtig umgehen, um diesen Absturz zu vermeiden? ? Danke schön! 🙏
🚀 MAC-Spezifikationen: MacBook Pro Mitte 2012, Auslauf von Sequoia 15.2, Xcode 16.2
🔥 Ziel: Glätte Bildschirmaufzeichnung mit Video/Audio-Capture in MacOS mit Screencapturekit. P>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post