我试图添加一个具有进程的所有属性和功能的协议,但我看到terminationHandler
的警告。
我希望不要看到这个警告,因为@Sendable
已经添加到terminationHandler
。
protocol ProcessProtocol {
var executableURL: URL? { get set }
var arguments: [String]? { get set }
var environment: [String : String]? { get set }
var currentDirectoryURL: URL? { get set }
var standardInput: Any? { get set }
var standardOutput: Any? { get set }
var standardError: Any? { get set }
func run() throws
func interrupt()
func terminate()
func suspend() -> Bool
func resume() -> Bool
var processIdentifier: Int32 { get }
var isRunning: Bool { get }
var terminationStatus: Int32 { get }
var terminationReason: Process.TerminationReason { get }
var terminationHandler: (@Sendable (Process) -> Void)? { get set }
var qualityOfService: QualityOfService { get set }
}
extension Process: ProcessProtocol {}
1条答案
按热度按时间jyztefdp1#
这确实有点奇怪,因为您的协议签名与开发人员文档中为
Process - terminationHandler
显示的签名完全匹配。删除@Sendable
符号实际上解决了警告,不知道为什么。我会向苹果提交一份关于这个问题的bug报告。