- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用适用于 ios 的 facebook api,我正在使用 facebook 对话框发帖。
基本思想是我有一个发帖按钮,它调用一个方法并询问您是登录后立即发帖,还是执行登录后发帖。当出现第二种情况时,我无法在登录 Facebook 后立即发帖,所以我必须点击按钮并再次调用该方法才能发帖。
Facebook 发给我的错误说: 操作无法完成。 (NSURLErrorDomain 错误 -999。)
我已经在堆栈中阅读过关于它的内容,它说:
根据“Foundation Constants Reference”,错误代码 -999 表示“NSURLErrorCancelled”。
描述:
异步加载被取消时返回。 Web Kit 框架委托(delegate)在加载资源上执行取消操作时会收到此错误。请注意,如果取消下载,NSURLConnection 或 NSURLDownload 委托(delegate)将不会收到此错误。适用于 iOS 2.0 及更高版本。在 NSURLError.h 中声明。
问题是为什么 Facebook 会向我发送此信息,我该如何解决?
如果需要更多代码,我可以放上。
提前致谢。
最佳答案
我解决这个问题的方法是更改 FBDialog.m 以忽略错误代码 -999,就像这样
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
// 102 == WebKitErrorFrameLoadInterruptedByPolicyChange
NSLog(@"FBDialog webView didFailLoadWithError:%@ %d",error.domain,error.code);
if ([error.domain isEqualToString:@"NSURLErrorDomain"] && error.code == -999)
return;
if ([error.domain isEqualToString:@"WebKitErrorDomain"] && error.code == 102)
return;
[self dismissWithError:error animated:YES];
}
有趣的是,FBLoginDialog 已经忽略了错误代码 102 和 -999,而 FBDialog 只忽略了 102。请自行查看:https://github.com/facebook/facebook-ios-sdk/blob/master/src/FBLoginDialog.m#L85
我不知道这是否是最佳解决方案,但我对此更有信心,因为另一段 Facebook SDK 代码已经忽略了同样的错误。
关于iphone - Facebook 对话失败,错误为 : The operation couldn’t be completed.(NSURLErrorDomain 错误 -999。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979610/
我是一名优秀的程序员,十分优秀!