使用Facebook应用程序分享

时间:2013-04-19 17:37:25

标签: ios facebook

现在我正在使用Facebook SDK来分享我的应用中的帖子。问题是这个sdk在我的应用程序中弹出一个webview并要求用户登录。必须有一个更好的方法。

我可以将共享信息发送到用户设备上的Facebook应用程序(如果已安装)?或者至少利用facebook应用程序检查凭据?如果人们必须登录分享,他们可能不会这样做..

2 个答案:

答案 0 :(得分:2)

最新的Facebook SDK 3.5包含本机共享对话框。如果按照documentation进行身份验证工作流程并且手机在iOS 6.0上,则在身份验证期间不应该获得UIWebView,而是获得UIAlertView。

答案 1 :(得分:1)

Facebook登录过程仅在少数情况下使用WebView。其中一些是:
1)你要求它明确地这样做,使用- (void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler;,我认为,这不是你的情况 2)如果设备上没有安装Facebook应用程序,FB SDK将回退到使用WebView登录窗口 3)可能这是你的情况。如果您在第一次尝试打开FB会话时请求发布权限,则FB SDK也将回退到包含WebView的旧登录流程。在新的登录流程中,FB会话应首先打开并具有读取权限(在这种情况下,FB将使用快速应用程序切换或本机iOS FB登录):
+ (BOOL)openActiveSessionWithReadPermissions:(NSArray*)readPermissions allowLoginUI:(BOOL)allowLoginUI completionHandler:(FBSessionStateHandler)handler;
然后,您应该询问用户的其他发布权限:
- (void)requestNewPublishPermissions:(NSArray*)writePermissions defaultAudience:(FBSessionDefaultAudience)defaultAudience completionHandler:(FBSessionRequestPermissionResultHandler)handler;
这样,用户就不需要登录了(如果他已经登录了FB应用程序),但是从你的应用程序到FB的双重切换会有不便之处(尽管最近工作速度很快)。

我正在寻找一种更简洁的方法来在第一次调用时使用FB Single Sign On获得发布权限,但遗憾的是没有找到任何可用的工作。