FBSDKLog:无法使用Facebook应用程序或Safari进行授权,fb****未注册为URL方案

Ben*_*ueg 34 facebook-login ios6

我想要Facebook app native dialog login(https://developers.facebook.com/docs/technical-guides/iossdk/login/#fbnative).

在控制台中,单击FBLoginView时收到以下消息:

FBSDKLog: Cannot use the Facebook app or Safari to authorize, fb**** is not registered as a URL Scheme
Run Code Online (Sandbox Code Playgroud)

但我完全按照这里做的那样:将Facebook SDK更新为3.5后无法打开活动会话

Ben*_*ueg 62

myapp-Info.plist,我重命名URL SchemesCFBundleURLSchemes:

之前:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>URL Schemes</key>
        <array>
            <string>fb***</string>
        </array>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

后:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb***</string>
        </array>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

差异在XCode中不可见,因为CFBundleURLSchemes有别名URL Schemes.

因此,您必须myapp-Info.plist手动编辑.

  • +1解决方案也适用于我. (3认同)
  • 为我工作但我必须将URL类型更改为CFBundleUrlTypes (2认同)

Boo*_*ker 30

问题出在plist文件中,因为它需要不同的设置然后它发布在Facebook SDK 3.5.x的官方Facebook视频和文章中.

如果您想使用2个或更多具有相同Facebook AppID的应用程序 - 这对于所有活动都很有用,那么帖子将在所有版本(如premium或lite)的相同Facebook外观下累积 - 但在这种情况下,您必须以某种方式解决Facebook回拨(URL方案)来自用户来自的正确应用程序,用户可以在完成Facebook活动后继续使用我们的应用程序,如帖子等.

因此,我们必须在Xcode和Facebook Developer设置中使用URL类型和URL Schemes,如下图所示:

2015年更新

我更新了屏幕截图以反映新的Facebook和Xcode设置:

Xcode 6

正如您所看到的,您必须使用带有附加URL方案后缀的FacebookAppID和相同的FacebookDisplayName,您必须在URL类型 - > URL方案行中使用"fb"前缀并使用标识符行中的FacebookDisplayName,请参阅下面.这将确保Facebook将回拨正确的应用程序(在此示例中为精简版或高级版),但所有帖子等都将转到相同的Facebook应用程序.

在此输入图像描述

Facebook的

iPhone商店ID适用于高级版本,因为我们希望将用户路由到付费版本!

在此输入图像描述


Phi*_*der 11

在我的应用程序中,错误是由于属性键的大小写不正确引起的.

他们应该是:

网址类型(小写T)

URL方案(大写S)