gpt4 book ai didi

watchkit - 使用LTE在Apple Watch上发出URLSession请求时"The Internet connection appears to be offline"

转载 作者:行者123 更新时间:2023-12-03 10:02:48 26 4
gpt4 key购买 nike

错误:

我一直收到错误代码-1009“Internet连接似乎处于脱机状态。”仅通过LTE连接到Internet时,在Apple Watch Series 3的Apple Watch扩展中发出URLSession请求时出现错误。

重现步骤:

  • 安装应用程序。
  • 配置您的设备,使其仅在LTE上。
  • 使用iMessages验证您与LTE的连接,例如
  • 启动应用程序。
  • 使用.default或.ephemeral session 配置初始化URLSession。
  • 对任何已知良好的https URL发出数据任务请求。

  • 预期行为:

    该请求设法到达目的地。

    观察到的行为:

    该请求立即失败,错误代码为-1009“Internet连接似乎处于脱机状态。”

    代码示例:
    let config = URLSessionConfiguration.ephemeral
    let sesh = URLSession(configuration: config)
    let url = URL(string: "https://google.com")!
    sesh.dataTask(with: request) { (_, _, error) in
    print(error)
    }.resume()

    最佳答案

    NOPE:请参见下面的更新#3:至关重要的缺失元素:您必须将 session 配置上的waitsForConnectivity标志设置为true

    let config = URLSessionConfiguration.ephemeral
    config.waitsForConnectivity = true
    let sesh = URLSession(configuration: config)
    let url = URL(string: "https://google.com")!
    sesh.dataTask(with: request) { (_, _, error) in
    print(error)
    }.resume()
    如果未设置该标志,则请求将立即失败,因为LTE访问不是立即可用的,而是仅在最短的延迟之后才可用。将此标志设置为true可使请求正常工作。在我的测试中,在LTE上启用 waitsForConnectivity和在不启用的情况下通过wifi进行相同请求 而在wifi上进行的相同请求之间的时序似乎似乎没有明显差异,就像在某些情况下waitsForConnectivity启用的等待时间是下一轮运行循环这种情况。
    更新#1
    我无法通过LTE发出任何请求。当waitsForConnectivity设置为waitsForConnectivity时,请求仅根据 session 配置的超时属性超时。当truewaitsForConnectivity时,请求立即失败。当我有更多信息时,我将更新我的问题和答案。我正在等待来自Apple TSI请求的响应,该请求通常需要几天的时间。
    更新#2
    更令人费解的是,相同的示例代码在另外两个开发人员的硬件上的蜂窝网络上运行良好。我知道和我的硬件很好,因为Apple的应用程序在LTE上很好玩(电话在高速公路上滚滚,车上只有我的 watch )。因此,发生了一些非常麻烦的事情。我已要求Apple DTS对此进行调查,他们也无法重现该问题。我会尽快跟进他们。
    更新#3
    在我上次更新此帖子后的几周中的某个时间,蜂窝请求开始在我的应用程序中起作用。我没有改变 watch 的任何内容,没有软件更新,没有重置,什么也没做。我什至没有重新编译代码。我的 watch 仍然和以前一样。它刚开始按预期工作,就象在其他开发人员的设备上一样。
    我注意到的唯一奇怪的事情是,我从AT&T收到了三则背对背相同的SMS消息,通知我我的Apple Watch现在已链接到我的iPhone号码。奇怪的是,这种联系据说发生在我打开手机包装盒的那晚,而不是两个月后。我不知道这是否与我的问题有关。我所知道的是蜂窝请求现在正在起作用。

    关于watchkit - 使用LTE在Apple Watch上发出URLSession请求时"The Internet connection appears to be offline",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46439108/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com