21

我已经坚持了一段时间,似乎没有解决这个问题。

我正在尝试将 URL 的内容作为字符串从 URL 中读取,但我感到很奇怪

错误 -> 错误域 = NSCocoaErrorDomain 代码 = 256“操作无法完成。(可可错误 256。)”

我的代码:

fetchedString = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"www.example.com/iphone"] encoding:NSUTF8StringEncoding error:&error];                                     
    NSLog(@"%@",fetchedString);

    // if there is something wrong with the URL 
    if (error) {
        NSLog(@"Error -> %@", error);
        return ;
    }

我究竟做错了什么?我也尝试使用getting as NSData,但我得到了null。

4

7 回答 7

16

是的,该 URL 缺少方案:“http://”。

“错误 -> 错误域 = NSCocoaErrorDomain 代码 = 256”

有关错误代码,请查看Apple 文档

Cocoa 错误域中的 NSError 代码。

NSFileReadUnknownError = 256,

NSFileReadUnknownError
“读取错误,原因未知”

并不是说错误定义很有帮助。:-)

也不要检查 iferrornil判断是否有错误,检查返回值为nil. error不保证nil成功执行。

于 2012-04-11T13:24:22.960 回答
13

我在访问设备上的文件时遇到了类似的问题。我遵循NSURL isFileURL 总是返回 NO 并使用 [NSURL fileURLWithPath] 而不是 [NSURL URLWithString] - 这有效!

于 2015-07-09T02:14:26.047 回答
3

我们的 ssl 证书一过期,我就收到了这个错误(Error Domain=NSCocoaErrorDomain Code=256)。这可能对您没有帮助,但可以帮助其他人。

于 2013-02-15T11:34:18.427 回答
3

沙盒

如果您在应用程序中使用沙盒,您可能需要检查com.apple.security.network.client是否设置为YES. 它位于 Xcode 5 中 Target的General选项卡中

网络:传出连接(客户端)

另请注意,如果您257在尝试访问file:///url 时看到代码,那也可能是因为沙盒,但这次是文件访问部分。因为除了“com.apple.security.files.user-selected.read-write”我不想打开它

用户选择的文件

我更喜欢使用A Dead Simple Fileserverhttp://localhost:3000在调试模式下使用。

于 2013-12-10T11:32:53.747 回答
2

可能导致此特定错误的更多原因:

  1. 服务器上的 SSL 配置错误
  2. 服务器将 http URL 重定向 (301) 到 https (参见 #1)
  3. 应用程序传输安全性也将此代码用于阻止的请求。
于 2016-04-05T21:54:18.330 回答
0

我得到了同样的错误。上面标记的答案是完美的。但就我而言,我在 url 中有“http://”,但必须在 url 请求中添加端口号,因为在特定端口上运行的服务实际上正在响应您的请求。 @"http://example.com:8084/yyy.zzz"

于 2015-09-11T23:20:59.850 回答
0

我遇到了同样的错误,上述解决方案对我不起作用,在我的情况下,我是从UNNotificationServiceExtension中调用dataWithContentsOfURL ,因此我必须使用应用程序传输安全条目更新UNNotificationServiceExtension的 info.plist 文件。

于 2018-04-29T20:32:04.680 回答