4

我遇到的问题是登录后,然后在 Safari 中按 OKAY。

不能再进一步了!Safari 无法打开。 https://m.facebook.com/dialog/permissions.request (在 .plist 中我添加了正确的 URL 类型(fb[yourappid]host)

facebook = [[Facebook alloc] initWithAppId:@"myappId" 
                           urlSchemeSuffix:@"host" 
                               andDelegate:self];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}


NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_likes", 
                        @"read_stream",
                        nil];

if (![facebook isSessionValid]) {
    [facebook authorize:permissions];
    [permissions release];
}

登录后的登录界面图片:

http://tinyurl.com/chc5urf

4

2 回答 2

0

阅读此内容并确保您urlSchemeSuffix以正确的格式编写

urlSchemeSuffix 是附加到用于 SSO 的基本 URL 方案的小写字母字符串。例如,如果您的 facebook ID 是“350685531728”并且您将 urlSchemeSuffix 设置为
“abcd”,则 Facebook 应用程序将期望您的应用程序绑定到
以下 URL 方案:“fb350685531728abcd”。如果您有多个 iOS 应用程序共享一个 Facebook 应用程序 ID(例如,如果您在同一个应用程序上有免费和付费版本)并且您希望对这两个应用程序使用 SSO,这将非常有用。为这两个应用程序提供不同的 urlSchemeSuffix 值将允许 Facebook 应用程序消除其 URL 方案的歧义,并始终将用户重定向回正确的应用程序,即使设备上同时安装了免费应用程序和应用程序。3.4.1 版支持 urlSchemeSuffix 和Facebook 应用程序的上方。如果用户安装了较旧版本的 Facebook 应用程序并且您的应用程序使用 urlSchemeSuffix 参数,则 SDK 将继续执行,就像设备上未安装 Facebook 应用程序一样,并将用户重定向到 Safari。

于 2012-05-21T11:20:21.220 回答
0

直接在“信息”选项卡下的应用程序目标中检查 URL 类型部分,并检查如果您有 facebookID=1234,则 URLSchemes 是 fb1234。

根据 Xcode 版本,它将只是 Custom iOS Target 属性中的另一个字段,或者它将位于底部称为 URL 类型的不同部分中

于 2013-02-20T12:55:46.750 回答