【问题标题】:Facebook Connect on iPhone questioniPhone 上的 Facebook 连接问题
【发布时间】:2011-01-28 14:27:03
【问题描述】:

当您在 iPhone 上使用 facebook connect 时,您是否必须使用框架中内置的登录按钮和登录屏幕?我问的原因是因为我也在使用 twitter,我希望他们登录用户时拥有与登录 facebook 时相同的用户体验。所以我可以复制 facebook connect 用于 twitter 的登录屏幕,也可以不一起使用 facebook connect 登录屏幕。

【问题讨论】:

    标签: iphone fbconnect


    【解决方案1】:

    登录按钮:没有。登录屏幕:是的。我将 FB Connect 集成添加到我的 iPhone FriendFeed 应用程序中,Stir 并跳过了登录按钮。相反,用户可以选择 UIActionSheet 上的“在 Facebook 上分享”按钮,然后应用会显示登录屏幕或自动发布链接,具体取决于用户是否经过身份验证。

    这是为您准备的代码 sn-p。如果会话成功恢复,则将调用 FBSession 对象的委托上的方法。

    if (![fbSession resume]) {
      FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:fbSession] autorelease];
      [dialog show];
    }
    
    - (void)session:(FBSession*)session didLogin:(FBUID)uid {
      NSLog(@"Hooray, I'm logged in to Facebook!");
    }
    

    抱歉在我上面的例子中有点含糊。老实说,我发现 FBConnect 有点神秘,并尽我所能在我的应用程序中实现它并尽快摆脱它。如果您需要更多信息,请告诉我,我会整理出更具体的答案。

    根据以下要求:

    你可以通过FBSession+sessionForApplication:secret:delegate类方法得到一个FBSession对象。您在会话对象上调用 -resume。如果它返回YES,它会立即调用你的代理的-session:didLogin: 方法,这是你应该放置依赖于FB 的操作的地方。如果没有成功-resume,那么你需要创建一个FBLoginDialog,如上面代码sn-p所示。说得通?如果您需要更多信息,请告诉我

    【讨论】:

    • 上面代码中的fbSession对象是怎么得到的?我知道如何通过打开登录屏幕来创建一个新的,但我不清楚在我的应用程序之前执行期间用户已经通过身份验证后我应该如何获得一个有效的会话。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多