【问题标题】:Facebook iOS SDK not returning to my appFacebook iOS SDK 没有返回到我的应用
【发布时间】:2011-12-01 18:34:56
【问题描述】:

我正在尝试将新的 oAuth2 facebook SDK 实施到我的应用程序中,但我一生都无法理解登录/验证后我应该如何返回我的应用程序。

我的目标是在用户墙上发布消息。

我目前正在使用以下方式开始登录过程:

-(void)tryFBlogin {

NSString *appId = @"113142482******";

NSArray *permissions =  [[NSArray arrayWithObjects:@"publish_stream",nil] retain];

TheAppDelegate *theAppDelegate = (TheAppDelegate *)[[UIApplication sharedApplication]delegate];

//Asking for permission
theAppDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate];
theAppDelegate.facebook = [[Facebook alloc] initWithAppId:appId andDelegate:self];
Facebook *fb = [theAppDelegate facebook];
[fb  authorize:permissions];

}

正在打开一个 safari 浏览器。如果我已经登录并获得了应用程序授权,则会有一条消息告诉我,并且我可以按下 OKay 按钮。

当我按下 OKay 按钮时,我收到一条警告说 safari 无法打开页面。我确认了警报,然后看着一个空白的 Safari 窗口。

如果我退出 facebook,我会看到我填写的登录屏幕,然后会看到与上面相同的内容。

我知道我还没有在任何地方实施发布命令,因为我不知道应该在哪里/何时实施。

我确实有这个委托方法,但这似乎永远不会被调用

- (void)fbDidLogin {

    NSLog(@"fbDidLogin");
}

这是我等待放置在某处的代码:

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"113142482******",
facebookUrl, @"link",
@"http://www.domain.com", @"picture",
@"My Message", @"name",
@"Caption text!", @"caption",
@"Message text.",  @"message",
nil];

[facebook dialog:@"feed" andParams:params andDelegate:self];

我的应用主 AppDelegate 中也有以下方法:

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

非常感谢任何帮助/建议。

谢谢

标记

【问题讨论】:

  • 您是否注册了您的应用以从您的 plist (CFBundleURLTypes) 中的 facebook sdk 打开回调?
  • 不确定这是否是我的愚蠢或不清楚的指示,但我的问题是在需要 fb113142482****** 时定义 fb[113142482******]。那是没有方括号。

标签: ios xcode facebook


【解决方案1】:

Arg,你最好打开 .plist 作为代码源,你应该会看到:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb38*******</string>
        </array>
    </dict>
</array>

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。只是为了澄清其他一些答案,以下是我在 Xcode 4.2 中为我的 iPhone 应用程序解决问题的方法:

    .plist file
        "URL types"
        "Item 0"
            "URL Schemes"
            "Item 0"
                "fb21593853845xxxx"
    

    【讨论】:

    • 您能详细说明一下吗? “fb21593853845xxxx”的值是多少?
    • 当然!这是“App ID/API Key”字段的值(可在您的 developers.facebook.com/apps 页面上的 Settings 下找到),并根据 Facebook iOS SDK 文档添加了“fb”前缀。
    • 我发誓该教程可以强调“fb”字母要求。它只是说 fbYOUR_APP_ID,我以为它只是数字。我从没想过我会需要数字前面的“fb”。
    • @GregKrsak 嘿,有人可以帮我解决这个问题吗?上面的答案对我有用,还有什么我想念的吗?我已经尝试了几个小时来修复我的 URL 方案,但我不知道还能做什么......
    • @derek.lo 没问题。检查我的个人资料并随时给我发电子邮件!
    【解决方案3】:

    您必须将您的 AppID 写入您的 .plist

    【讨论】:

      猜你喜欢
      • 2017-05-14
      • 1970-01-01
      • 2023-04-11
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多