Facebook SDK:应用程序未注册为URLscheme

我正在使用这里find的Facebook SDK ,并尝试提供的示例(在文件夹FacebookiOSSample )。

如果我简单地将AppIdreplace为我的特定AppId ,那么我就不能再共享了。 (我在AppDelegate文件和info.plist文件中都replace了它)。 我现在收到以下错误:

FBSDKLog:无效使用FBAppCall,fb ****未注册为URLscheme。 你在你的plist中设置了“FacebookUrlSchemeSuffix”吗?

否则,这适用于样本的原始AppId指向名为IFaceTouch东西。

什么可能是错误的我的应用程序的设置,我如何注册我的AppId

遵循以下三个步骤:

  1. 使用string值创build一个名为FacebookAppID的键,并在其中添加应用程序ID。
  2. 使用string值创build一个名为FacebookDisplayName的键,并添加在App Dashboard中configuration的显示名称。
  3. 使用称为URL Schemes的单个数组子项创build名为URLtypes的数组键。 给这个单一的项目与您的应用程序ID前缀为fb。 这用于确保应用程序将接收基于Web的OAuthstream程的callbackURL

完成的.plist应该是这样的:

在这里输入图像说明

来源链接:

根据原始键和值,您应该有CFBundleURLTypes和CFBundleURLSchemes

根据原始键和值,您应该有CFBundleURLTypes和CFBundleURLSchemes。 希望有所帮助!

信息 – URLtypes下面还有另一节

检查URL Schemes字段下的值是否与上面属性列表中的URLtypes – > URL Schemes匹配。 (并且也匹配FacebookAppID)

网址类型

对于iOS 9

如果你有一个错误:'LSApplicationQueriesSchemes'

基于熊与我的答案 ,你也将不得不添加这些行:

 <key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array> 

看到这个

应该在.plist文件末尾添加这些行:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb2R3234544534554</string> </array> </dict> </array> <key>FacebookAppID</key> <string>2R3234544534554</string> <key>FacebookDisplayName</key> <string>stevejeff</string> <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>facebook.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>fbcdn.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>akamaihd.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict> <key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array> </dict> </plist> 

*如果您使用v4.6.0或更高版本的SDK,则只需添加:* (谢谢mohsinj )

  <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array> 

转到此链接select您的应用程序,并configuration您的info.plist

我也面临同样的问题。 然后做到这一点:

<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>

现在问题是固定的。