我正在使用Facebook SDK
找到here,正在尝试提供的示例(位于FacebookiOSSample
文件夹中)。
如果我只是将AppId
替换为我的特定AppId
,那么我就无法再分享了。 (我在AppDelegate
文件和info.plist
文件中都替换了它。我现在收到以下错误:
FBSDKLog:无效使用FBAppCall,fb ****未注册为URL 方案。你在plist中设置了'FacebookUrlSchemeSuffix'吗?
否则,这适用于样本的原始AppId
,它指向名为IFaceTouch
的内容。
我的应用设置有什么问题,如何注册我的AppId
?
答案 0 :(得分:188)
遵循以下三个步骤:
完成的.plist看起来应该是这样的:
答案 1 :(得分:20)
就原始密钥和值而言,您应该拥有CFBundleURLTypes和CFBundleURLSchemes。希望有所帮助!
答案 2 :(得分:15)
信息下方还有另一部分 - 网址类型
检查网址结构字段下的值是否与 网址类型 - >中的值相匹配上面的属性列表中的URL方案 。 (并且还匹配FacebookAppID)
答案 3 :(得分:9)
适用于iOS 9
如果您有错误:' LSApplicationQueriesSchemes'
基于Bear with me answer,您还必须添加这些行:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbauth2</string>
</array>
请参阅this。
你应以.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>
答案 4 :(得分:3)
转到此Link选择您的应用,并配置您的info.plist
答案 5 :(得分:1)
1-在Xcode中,右键单击项目的Info.plist文件,然后选择“打开方式->源代码”。
2-将以下XML代码段插入到文件正文中,就在最后一个</dict>
元素之前。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
3-将{your-app-id}和{your-app-name}替换为在Facebook App仪表板上找到的应用程序的ID和名称。
答案 6 :(得分:0)
今天我通过从 FacebookDisplayName 中删除空间来解决这个问题。
确保 FacebookDisplayName
中没有任何空格答案 7 :(得分:0)
我不知道您的问题是否与我的相同。但是我花了一些时间找到它,我将其放置在这里,这样它可以帮助任何人。.问题是,谷歌登录使用相同的info.plist属性名,并且它覆盖了Facebook的那些。可以在X代码中看到这些并将它们放在一起,现在一切正常! (“ URL类型”属性)。
答案 8 :(得分:0)
在我的情况下,当我再次在info.plist中分别添加它们时,我已经在我的info.plist中拥有LSApplicationQueriesSchemes和CFBundleURLTypes键。它没有阅读第二个,也无法识别。因此,将值添加到以前的LSApplicationQueriesSchemes和CFBundleURLTypes键中解决了我的问题。
答案 9 :(得分:-2)
我也面临同样的问题。然后这样做了:
foreach (MembershipUser user in AllUsers)
现在问题已解决。