gpt4 book ai didi

ios - 无法加载 HTTP URL 图片

转载 作者:搜寻专家 更新时间:2023-11-01 05:39:39 27 4
gpt4 key购买 nike

我正在尝试将 watchOS 1 应用程序转换为 watchOS 2。但是我在尝试使用以下代码从 URL 加载图像时看到错误:

let url:NSURL = NSURL(string: "http://www.xxxxxxxx.com/xxx/xyz.jpg")!
let data:NSData = try! NSData(contentsOfURL:url, options:[])
imageone.setImage(UIImage(data: data))

错误是:

Error Domain=NSCocoaErrorDomain Code=256 "The file “xyz.jpg” couldn’t be opened." UserInfo={NSURL=http://www.xxxxxxxx.com/xxx/xyz.jpg}

我在 Internet 上看到这是因为新的应用程序传输安全协议(protocol)。我也读了放

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

在 Watchkit 扩展的 info.plist 中,但出现相同的错误。如果我在 HTTPS 域中使用图像也是一样的。

NOTE: On the simulator it works perfectly!

我正在使用 XCode 7 beta 5。

有人知道怎么解决吗?

UPDATE Looking around the web I found that maybe with NSURLSession I will solve the problem but I did not found nothing useful on this. Can someone help me to convert my code to the NSURLSession syntax? Thanks!

最佳答案

这是在 Objective-C 中使用 NSSession 实现的简单方法。用Swift翻译应该不难

NSString *dataUrl = @"http://www.xxxxxxxx.com/xxx/xyz.jpg";
NSURL *url = [NSURL URLWithString:dataUrl];

NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession]
dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
UIImage *downloadedImage = [UIImage initWithData:data];
// Do what you like with your image
}];

[downloadTask resume];

关于ios - 无法加载 HTTP URL 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127295/

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