【问题标题】:Facebook iOS - handleOpenURL & Tabbar ApplicationFacebook iOS - handleOpenURL & Tabbar 应用程序
【发布时间】:2011-05-13 22:29:20
【问题描述】:

我无法让 Facebook 登录以在我的应用程序中回到正确的视图并调用相应的 facebook 函数。

在示例中,Facebook 仅具有 [controller facebook],这是他们开始使用的视图。我正在使用标签栏应用程序,所以我没有必要的参考。我创建了一个指向所需视图的指针并使用它...它正确打开但不会调用与 facebook 关联的任何方法,特别是:

(void)fbDidLogin;

(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [[*NotReferencedViewController* facebook] handleOpenURL:url];
}

还有其他人遇到过这种情况吗?

【问题讨论】:

    标签: iphone ios facebook


    【解决方案1】:

    不确定您说的是哪个示例,但您应该创建 Facebook 对象并将其存储在一个中心位置,例如您的模型或UIApplicationDelegate。然后可以通过单例访问它,因此您始终可以访问它,例如:

    [[UIApplication sharedApplication] delegate].facebook
    

    因此,您可以从任何需要的视图控制器访问 facebook 对象。

    当你做类似的事情时

    NSArray* permissions =  [[NSArray arrayWithObjects:@"email", @"read_stream", @"publish_stream", nil] retain];
    
    [facebook authorize:permissions delegate:self];
    

    指定delegate:self 意味着您将实现该类中的方法,Facebook 可以调用这些方法来通知您某些事件。其中一种方法是fbDidLogin,在那里你可以做任何你需要做的事情:

    -(void)authorizeFacebook {
        NSArray* permissions =  [NSArray arrayWithObjects:@"email", @"read_stream", @"publish_stream", nil];
    
        [facebook authorize:permissions delegate:self];
    }
    
    // if the authorization succeeds it will come back to your app and call the method below
    -(void)fbDidLogin {
        // switch view, call the facebook graph, or do whatever else you like
    }
    

    您可以在应用程序委托本身或视图控制器中执行此操作。

    您可以通过检查 facebook SDK 的 .h 文件来查看 facebook 委托方法:Facebook.h、FacebookRequest.h 等。

    编辑

    并且您的 handleOpenURL: 方法应该与 fb 的示例中的完全一样(假设您没有处理其他 url 方案):

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    
        return [facebook handleOpenURL:url]; 
    }
    

    http://developers.facebook.com/docs/guides/mobile/#ios

    【讨论】:

    • 我已将其放入 appdelegate,但登录后它现在甚至不会返回到我的应用程序。handleOpenURL 方法调用对象 facebook 来处理它,但它现在甚至不会退缩......
    • 您是否按照上面的链接更新了您的 plist 文件。
    猜你喜欢
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多