我已经被这个问题困扰了一段时间,似乎无法解决这个问题。
我试图从 URL 中将 URL 的内容作为字符串读取,但我得到了一个奇怪的结果
错误 -> 错误域 = NSCocoaErrorDomain 代码 = 256 “操作无法完成。(Cocoa 错误 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 ;
}
我做错了什么?我也尝试使用 gets as NSData ,但我得到了 null 。
是的,URL 缺少方案:“http://”。
“错误 -> 错误域=NSCocoaErrorDomain 代码=256”
有关错误代码,请检查 Apple 文档:
Cocoa 错误域中的 NSError 代码。
NSFileReadUnknownError = 256,
NSFileReadUnknownError
错误定义并不是很有帮助。 :-)
也不检查
error
是否为nil
来判断是否有错误,检查nil
的返回值。 error
不保证成功执行后会 nil
。
我在访问设备上的文件时遇到类似的问题。我遵循 NSURL isFileURL 总是返回 NO 并使用 [NSURL fileURLWithPath] 而不是 [NSURL URLWithString] - 这有效!
我们的 ssl 证书过期后,我就收到此错误(错误域 = NSCocoaErrorDomain 代码 = 256)。这可能对你没有帮助,但可以帮助别人。
如果您在应用程序中使用沙箱,您可能需要检查
com.apple.security.network.client
是否设置为 YES
。它位于 Xcode 5 中 Target 的 General 选项卡下
网络:传出连接(客户端)
另请注意,如果您在尝试访问
257
url 时看到代码 file:///
,这也可能是因为沙箱,但这次是 文件访问 部分。因为我不想将其打开为“com.apple.security.files.user-selected.read-write”之外的任何内容
用户选择的文件
我更喜欢使用 A Dead Simple Fileserver 并在调试模式下使用
http://localhost:3000
。
可能导致此特定错误的更多原因:
我遇到了同样的错误。上面标记的答案是完美的。但就我而言,我的 url 中有“http://”,但必须在 url 请求中添加端口号,因为有一个服务在特定端口上运行,该服务实际上正在响应您的请求。
@"http://example.com:8084/yyy.zzz"
我遇到了同样的错误,上述解决方案对我不起作用,在我的情况下,我从 UNNotificationServiceExtension 中调用 dataWithContentsOfURL,所以我必须使用应用程序更新 UNNotificationServiceExtension 的 info.plist 文件运输安全条目。