无法获得本机登录以使用 Facebook iOS SDK

Posted

技术标签:

【中文标题】无法获得本机登录以使用 Facebook iOS SDK【英文标题】:Can't get native login to work with Facebook iOS SDK 【发布时间】:2014-08-26 19:11:03 【问题描述】:

我正在使用Facebook ios SDK 组件。在页面顶部,它说:

Native Facebook Login,这是使用 Facebook 的第一步 提高用户参与度和应用安装量。

当我尝试使用此控件时,我得到的只是 WebView。我查看了 Facebook iOS SDK,发现 Native 是它尝试的第一个提示,但我使用“OpenWithBehavior”来确保我们完全忽略 WebView,没有任何变化。我已经对正在使用的 AppID 和 DisplayName 进行了两次和三次检查,它们都是正确的。我可以使用 WebView 成功登录,只是无法在手机上启动本机应用程序。

我知道我们的应用已正确配置为可以使用 Facebook 登录,因为我们目前在 App Store 上发布的应用具有原生 Facebook 登录。

这已在两个不同的 iOS 设备上进行了检查,均安装了 Facebook。我们还尝试重新安装 Facebook,并尝试使用组件中包含的默认 FBLoginView 元素以及我们自己的自定义按钮。

我不知道如何继续。任何人都可以就我们可以解决的问题提供任何帮助或进一步的想法吗?

谢谢。

【问题讨论】:

您是否允许您的应用在“设置”->“iPhone 上的 Facebook”中访问 Facebook? 我在该列表中根本看不到我的应用,但该应用在 Facebook 网站上列为已获批准。 如果您的应用不在该列表中,则意味着您的应用尚未请求使用用户的 Facebook 帐户(以本机方式)。你可以发布你的代码吗?这样会更容易。 很高兴发布可以帮助加快速度的代码,但是您具体要寻找什么代码?我正在使用来自 Facebook iOS SDK 的确切设置。所以我的 AppDelegate.cs 有我的 AppID 和 DisplayName,我只是使用具有这些基本权限的本机 LoginView 来尝试登录 Facebook。它有效,但仅在 WebView 中有效。如果您可以使用我很乐意发布的任何特定示例,那么除了我在 FBSettings 中的两个键和打开 FBLoginView 之外,我真的没有任何代码。 啊,另外,补充一点,我的 iPhone 设置中没有列出该应用程序,我同事的任何 iPhone 也没有列出该应用程序,但我们已经使用我们现有的应用程序和本地 FB 登录(非-Xamarin)一段时间。如果问题是它未在设置中列出,为什么旧​​应用程序不会列出?此外,还有几个在我的 iPhone 上使用本机登录的应用程序,我在此列表中没有看到... 【参考方案1】:

要从本机 facebook 应用程序获得身份验证,您需要在 info.plist 文件中输入 FacebookAppID 和 url,确保您使用的包标识符与您在 facebook 应用程序设置中提到的相同。

查看截图: I am new to Facebook SDK with iOS. I want to send invitation to friends on Facebook

【讨论】:

我已尝试为 Xamarin 手动编辑 Info.plist 文件,但没有成功。我在 this post 的 Xamarin 论坛上的 Info.plist 中发布了我在 Info.plist 中尝试过的屏幕截图。 解决方案我主要针对原生 XCode 项目发布,我不确定它是否适用于 Xamarin。 @Receme 我们确实曾在某个时候进行过这项工作,但几个月前我们放弃了 Xamarin,转而支持原生开发。

以上是关于无法获得本机登录以使用 Facebook iOS SDK的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 上的 Facebook 登录;登录切换后应用程序无法运行

facebook-ios-sdk 是不是使用 iOS 6 Facebook 集成来支持登录而不打开本机 Facebook 应用程序?

使用 Facebook SDK 3.1 防止 iOS 本机登录

仅使用弹出对话框的本机(iOS 或 Android)Facebook 登录?

Facebook iOS SDK 使用 UIWebView 而不是 safari 登录(本机技巧/解决方案)

iOS 8.3 Facebook 错误未登录