我已经坚持了一段时间,似乎并没有解决这个问题。
我正在尝试从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 ;
}
我做错了什么?我尝试使用获取作为NSData,但我得到null。
答案 0 :(得分:15)
是的,URL缺少方案:“http://”。
“错误 - >错误域= NSCocoaErrorDomain代码= 256”
对于错误代码,请检查Apple documentation:
Cocoa错误域中的NSError代码。
NSFileReadUnknownError = 256,
NSFileReadUnknownError
“阅读错误,原因未知”
并非错误定义非常有用。 : - )
另外,请勿检查error
是否为nil
以确定是否存在错误,请检查nil
的返回值。 <{1}}不能保证成功执行error
。
答案 1 :(得分:8)
我在访问设备上的文件时遇到了类似的问题。我跟着NSURL isFileURL always returns NO 并使用[NSURL fileURLWithPath]而不是[NSURL URLWithString] - 这有效!
答案 2 :(得分:3)
如果您在应用中使用沙盒,则可能需要检查 com.apple.security.network.client
是否设置为 YES
。它位于
网络:传出连接(客户端)
另请注意,如果您在尝试访问257
网址时看到代码file:///
,那也可能是因为沙盒,但这次是文件访问部分。因为我不想把它打开到“com.apple.security.files.user-selected.read-write”
用户选择的文件
我更喜欢使用A Dead Simple Fileserver并在调试模式下使用http://localhost:3000
。
答案 3 :(得分:2)
我们的ssl证书过期后,我收到此错误(Error Domain = NSCocoaErrorDomain Code = 256)。这可能对你没有帮助,但可以帮助别人。
答案 4 :(得分:2)
可能导致此特定错误的更多原因:
答案 5 :(得分:0)
我得到了同样的错误。以上标记的答案是完美的。但在我的情况下,我在网址中有“http://”,但必须在网址请求中添加端口号,因为在特定端口上运行的服务实际上正在响应您的请求。
@"http://example.com:8084/yyy.zzz"
答案 6 :(得分:0)
我收到同样的错误,上面的解决方案对我没有用,在我的情况下,我在 UNNotificationServiceExtension 中调用 dataWithContentsOfURL ,所以我不得不使用app transport security条目更新 UNNotificationServiceExtension 的info.plist文件。