使用SLComposeViewController发布到Facebook时,即使设备没有网络连接,也会返回SLComposeViewControllerResultDone
。任何方式,所以我只是在实际发布成功后才显示“成功”消息。
[_shareComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result)
{
switch (result)
{
case SLComposeViewControllerResultCancelled:
break;
case SLComposeViewControllerResultDone:
{
// Show success message
}
break;
default:
break;
}
}];
答案 0 :(得分:3)
导入Apples的Reachability文件并使用以下方法检查:
- (BOOL)connected
{
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [reachability currentReachabilityStatus];
return networkStatus != NotReachable;
}
[_shareComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result)
{
switch (result)
{
case SLComposeViewControllerResultCancelled:
break;
case SLComposeViewControllerResultDone:
{
if (![self connected]) {
// Show internet is not available message
}
else {
// Show success message
}
}
break;
default:
break;
}
}];
答案 1 :(得分:0)
当用户完成撰写帖子时调用的处理程序。
<强>讨论强>
处理程序有一个指示用户是否的参数 完成或取消撰写帖子。此块不保证 在任何特定的线程上调用。
从上面,您可以清除,完成处理程序将在您完成合成后调用,但它没有响应网络连接可用性或发布失败。你必须在作曲前检查连接。
您也可以使用此处理程序获得这两个结果。
typedef NS_ENUM(NSInteger,
SLComposeViewControllerResult) {
SLComposeViewControllerResultCancelled,
SLComposeViewControllerResultDone
};
也就是说,你的作曲家视图控制器是发布或取消。