iOS - Facebook 单点登录 - 从我的视图控制器

Posted

技术标签:

【中文标题】iOS - Facebook 单点登录 - 从我的视图控制器【英文标题】:iOS - Facebook single sign on - from my view controller 【发布时间】:2011-12-11 11:59:36 【问题描述】:

在documentation from facebook 中将他们的sdk 集成到ios 应用程序中,他们提到了应用程序委托中的所有内容。 但在我的应用程序中,我有设置视图,其中包含“Facebook”选项。 当用户单击时,只有我想从我的应用程序启用单点登录。这可以通过在我的设置视图控制器中创建 facebook 对象等来完成。但在应用委托中,他们要求添加以下代码:

// Pre 4.2 support
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
    return [facebook handleOpenURL:url]; 


// For 4.2+ support
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
    return [facebook handleOpenURL:url]; 

以上两种方法都必须在以“facebook”为对象的应用委托类中实现。但我正在我的设置视图控制器中创建我的 facebook 对象。这种情况应该怎么处理?

【问题讨论】:

不,如文档中所述,我正在创建 facebook 对象并从设置视图调用应用程序委托中的方法。 【参考方案1】:

将此添加到您的 AppDelegate.m(并将其添加到 .h 头文件)

+ (AppDelegate*) sharedAppDelegate 
    return (AppDelegate*) [UIApplication sharedApplication].delegate;

包含头文件并执行此操作以从任何视图控制器访问您的 facebook 对象:

[[AppDelegate sharedAppDelegate] facebook]

【讨论】:

【参考方案2】:

如文档中所述,我正在创建 facebook 对象并从设置视图调用应用程序委托中的方法

【讨论】:

以上是关于iOS - Facebook 单点登录 - 从我的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 facebook ios sdk for iphone 实现单点登录 (SSO)

在 Facebook IOS SDK 中禁用单点登录 (SSO)

带有 Facebook 单点登录的 iOS 应用程序中的“点赞”按钮

使用单点登录对用户进行身份验证时,Facebook iOS Safari“无法打开页面错误”

Facebook SDK IOS登录问题

iOS Facebook 登录 SDK 4.12