小编Bel*_*per的帖子

为什么 URLSession.DataTaskPublisher 不发布值?

在 Xcode 11 beta 5 或 6 中,我现有的依赖于URLSession.DataTaskPublisher停止工作的代码。似乎DataTaskPublisher永远不会发布任何值,但我不知道为什么。

我已经尝试过.sink.handleEvents作为订阅者。我已经与Just发布者一起测试了 .sink并确认它在那里收到了一个值。

我也试过给DataTaskPublisheraURL和给它 a URLRequest。我尝试了对 API 的请求,包括授权标头,以及对 google.com 和 apple.com 的基本请求。我尝试使用URLSession.shared和创建URLSession. 我也试过使用和不使用mapanddecode运算符。

我已经使用XCTest期望来确认测试每次都会超时,即使我给它 4 分钟的超时。

我刚刚创建了一个新的示例项目,并在根视图控制器中使用以下代码复制了问题:

override func viewDidLoad() {
        super.viewDidLoad()

        print("view did load")

        URLSession.shared.dataTaskPublisher(for: URL(string: "http://apple.com")!)
            .handleEvents(receiveSubscription: { (sub) in
                print(sub)
            }, receiveOutput: { (response) in
                print(response)
            }, receiveCompletion: { (completion) in
                print(completion)
            }, receiveCancel: { …
Run Code Online (Sandbox Code Playgroud)

swift xcode11 combine

6
推荐指数
1
解决办法
4657
查看次数

标签 统计

combine ×1

swift ×1

xcode11 ×1