适用于iOS的FBSDKShareDialog回调

什么是FBSDKShareDialog返回到您的应用程序时的回调方法(在用户创建完post后)?

这是我创建对话框所需要的:

-(IBAction)post:(id)sender{ FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = [NSURL URLWithString:self.spinShareURL]; content.contentDescription=@"#spin"; self.fromFacebook = true; [FBSDKShareDialog showFromViewController:self withContent:content delegate:nil]; } 

我在某地读到有回调

 -(void)dialogDidComplete:(FBSDKShareDialog *)dialog{ } 

但这对我不起作用。

我在下一页找到了解决方案:

http://jitu1990.blogspot.com/2015/05/share-with-facebook-from-ios-app.html

这是我的最终代码:

 -(IBAction)post:(id)sender{ FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = [NSURL URLWithString:self.spinShareURL]; content.contentTitle= [NSString stringWithFormat: @"%@'s spin", self.username]; content.contentDescription=@"#spin"; self.fromFacebook = true; [FBSDKShareDialog showFromViewController:self withContent:content delegate:self]; }- (void)sharer:(id)sharer didCompleteWithResults:(NSDictionary *)results { NSLog(@"returned back to app from facebook post"); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Posted!" delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; [alert show]; double delayInSeconds = 1.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ [alert dismissWithClickedButtonIndex:0 animated:YES]; }); } - (void)sharerDidCancel:(id)sharer { NSLog(@"canceled!"); } - (void)sharer:(id)sharer didFailWithError:(NSError *)error { NSLog(@"sharing error:%@", error); NSString *message = @"There was a problem sharing. Please try again!"; [[[UIAlertView alloc] initWithTitle:nil message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; }