随着 Facebook SDK 3.1 的发布,它有一个类可以在 iOS 6 中启动 Facebook Native Dialog for Post。
下面是它的代码。
[FBNativeDialogs presentShareDialogModallyFrom:currentController initialText:nil image:nil url:nil handler:^(FBNativeDialogResult result, NSError *error) {
//Print Error
}];
错误域=com.facebook.sdk 代码=7“操作无法完成。(com.facebook.sdk 错误 7。)”UserInfo=0x1e5e0930 {com.facebook.sdk:NativeDialogReasonKey=com.facebook.sdk:NativeDialogNotSupported
因此,我尝试先使用以下代码登录,然后启动 FBNativeDialog。但是,当在 Safari 中按下 Facebook 权限窗口的Okay按钮时,它不会进入完成处理程序。
AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];
appDelegate.session = [[FBSession alloc] initWithPermissions:[NSArray arrayWithObjects:@"publish_stream", nil]];
[appDelegate.session openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
switch (status) {
case FBSessionStateOpen:
[FBNativeDialogs presentShareDialogModallyFrom:currentController initialText:nil image:nil url:nil handler:^(FBNativeDialogResult result, NSError *error) {
NSLog(@"Dialog Error= %@",error);
}];
break;
default:
break;
}
}];