From 00dc9b36af8ae5d8f6180aa7c8cc1896f023abde Mon Sep 17 00:00:00 2001 From: Fabian Thies Date: Sun, 19 Feb 2023 11:40:26 +0100 Subject: [PATCH] [FIX] STDOUT output not visible in Xcode console --- AltStore/Manager/OutputCapturer.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/AltStore/Manager/OutputCapturer.swift b/AltStore/Manager/OutputCapturer.swift index cf334f1e..e0af952d 100644 --- a/AltStore/Manager/OutputCapturer.swift +++ b/AltStore/Manager/OutputCapturer.swift @@ -17,6 +17,7 @@ class OutputCapturer { private var inputPipe = Pipe() private var errorPipe = Pipe() + private var outputPipe = Pipe() private init() { // Setup pipe file handlers @@ -27,6 +28,9 @@ class OutputCapturer { self?.handle(data: fileHandle.availableData, isError: true) } + // Keep STDOUT + dup2(STDOUT_FILENO, self.outputPipe.fileHandleForWriting.fileDescriptor) + // Intercept STDOUT and STDERR dup2(self.inputPipe.fileHandleForWriting.fileDescriptor, STDOUT_FILENO) dup2(self.errorPipe.fileHandleForWriting.fileDescriptor, STDERR_FILENO) @@ -38,6 +42,9 @@ class OutputCapturer { } private func handle(data: Data, isError: Bool = false) { + // Write output to STDOUT + self.outputPipe.fileHandleForWriting.write(data) + guard let string = String(data: data, encoding: .utf8) else { return }