You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 16 Release模式下Stream连接无法接收数据求助

Xcode 16 Release模式下InputStream读取始终返回0的问题

以下代码在Xcode 15的Release模式下运行完全正常,能够从流中读取到非零数据:

self.inputStream?.read(&inputbuffer, maxLength: readsize)

但切换到Xcode 16后,流始终返回0,代码未做任何改动。

已尝试以下排查手段:

  • 修改Scheme设置
  • 验证Info.plist中包含正确的App Transport Security (ATS)设置,包括:
    NSExceptionDomains for my host
    NSAllowsArbitraryLoads set to true
    

但这些操作均未解决问题。

完整代码如下:

private let host = "my host"
private let port = 443
private var inputStream: InputStream?
private var outputStream: OutputStream?

open func connect() {
    
    Stream.getStreamsToHost(withName: host, port: port, inputStream: &self.inputStream, outputStream: &self.outputStream)
    
    if let inputStream = inputStream, let outputStream = outputStream {
        inputStream.delegate = self
        outputStream.delegate = self
        
        CFReadStreamSetDispatchQueue(inputStream, PMMStreamQueue)
        CFWriteStreamSetDispatchQueue(outputStream, PMMStreamQueue)
         
        inputStream.open()
        outputStream.open()
    }
}

func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
    switch eventCode {
    case Stream.Event.endEncountered:
        print("endEncountered")
    case Stream.Event.hasBytesAvailable:
        let readsize = 8192 * 4
        var inputbuffer: [UInt8] = [UInt8](repeating: 0, count: readsize)
        let readBytesCount = self.inputStream?.read(&inputbuffer, maxLength: readsize) ?? 0
        print(readBytesCount)
    default:
        break
    }
}

当前使用Release scheme,问题仅出现在Xcode 16的Release模式下。

请问有人知道该问题的原因或解决方法吗?感谢!

内容的提问来源于stack exchange,提问作者raxabizze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:30:01