【问题标题】:Are URL Scheme Suffixes Working in Facebook iOS SDK 3.1?URL 方案后缀在 Facebook iOS SDK 3.1 中是否有效?
【发布时间】:2023-04-06 20:27:01
【问题描述】:

我正在尝试将我的应用程序从 iOS SDK 3.0 更新到 SDK 3.1,但在使 URL 方案后缀正常工作时遇到问题。我的应用程序有几个不同的 SKU,并且已经成功地将“ipad”和“iphone”的方案后缀与 pre-3.1 SDK 一起使用。

在实现 3.1 SDK 并获得读取权限时,Facebook 应用不再将我发送回我的应用(这是在 iOS6 中未使用集成 Facebook 登录时)。我注意到,如果我删除了 URL 方案后缀,登录过程会按预期工作,并且在对权限说“OK”后我会被发送回我的应用程序。只需将 info.plist 更改为不包含后缀即可;添加回来会破坏它。

那么我的问题是:URL 后缀对 3.1 更新的任何人都有效吗?我无法确认他们是否在工作。该更新似乎确实改变了身份验证流程,但我不明白为什么会故意删除它。另外,Facebook上的这个错误是否相关? http://developers.facebook.com/bugs/183527235116115

最后,既然我觉得在这个问题解决之前我不能更新,那么不立即更新 SDK 会有什么后果?我讨厌我的应用程序崩溃,因为旧的身份验证方法被杀死了。 Facebook 是否有关于何时无法使用旧身份验证的路线图?

【问题讨论】:

  • 感谢以下各位的解决方案;希望它们对某些人有所帮助。事实证明,我遇到的问题是我使用的第三方插件错误地实现了 URL 方案后缀的结果。虽然我在登录时传递了后缀,但更新到 Facebook 3.1 后插件没有正确使用后缀。他们已经修复了它,现在可以正常工作了。
  • 您可以在此处查看 Xcode 6 的 2015 更新版本的详细说明stackoverflow.com/a/18480723/1780492

标签: facebook authentication ios6 url-scheme


【解决方案1】:

检查这些事情:

  • 您的应用程序的 info.plist 文件中有一个 FacebookAppID 属性

  • 您已经为您的应用定义了一个 URL 方案。此方案必须包含您要使用的后缀。

  • 在调用 FB API 之前设置 URL Scheme 后缀。

  • URL Scheme 后缀只包含小写字母(没有破折号等特殊字符;没有空格)

我被最后一点卡住了大约一天!

编辑:plist 中的 FacebookID 应称为 FacebookAppID(类型字符串)

rgds

【讨论】:

    【解决方案2】:

    您打算如何创建和打开会话?

    我认为你必须使用两步法:

    1. initWithAppID:permissions:urlSchemeSuffix:tokenCacheStrategy:
    2. openWithCompletionHandler:

    我不确定这是否已从 SDK 的 3.0 版本更改为 3.1 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多