gpt4 book ai didi

xcode - 在设备上解包时出现 sendSynchronousRequest 错误,在模拟器中有效

转载 作者:行者123 更新时间:2023-11-28 07:16:37 40 4
gpt4 key购买 nike

以下行在模拟器中运行良好,但在实际设备上却不行。它给了我错误:fatal error: expectedly found nil while unwrapping an Optional value

var urlData:NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&error)!

另一个项目中的原件没有 ! 最后,它在 beta5 中 100% 工作,现在在 beta6 中,它会抛出错误,除非我输入它。它仍然有效模拟器,但我的 iPhone 上没有?

有什么想法吗?

最佳答案

我认为你的应用程序在设备中运行时一定有问题(例如它连接到的 URL/IP)。

如果它抛出该错误,则意味着 sendSynchronousRequest 返回 nil。我的建议是:

  • 使 urlData 可选 var urlData: NSData? = ...,稍后检查它是否有值
  • 检查您连接的服务器和/或请求中的参数是否正确

不要对可以为 nil 的值使用强制解包,这一点非常重要。这总是会产生运行时错误,所以我认为这是一种不好的做法。您应该将强制解包限制在您 100% 确定可选值具有值的情况下,例如当您在不使用可选绑定(bind)的情况下明确检查该值时。

至于服务器/请求检查,我经常在模拟器中运行时向本地开发服务器发出请求,而在使用设备时向生产或暂存远程服务器发出请求。也许您正在代码中做类似的事情。

关于xcode - 在设备上解包时出现 sendSynchronousRequest 错误,在模拟器中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25593372/

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