【问题标题】:Facebook SDK - iOS - Fail to share URL (Error 102)Facebook SDK - iOS - 分享 URL 失败(错误 102)
【发布时间】:2013-08-30 21:10:21
【问题描述】:

我正在尝试在我的应用程序上集成一个简单的 URL 分享,遵循专门的 Facebook 教程 (link)

在我的应用程序上,我只需单击一个按钮,该按钮会显示一个对话框,我可以在其中输入评论。 这部分工作找到。然而,当我点击“发布”时,我收到以下错误:

Error Domain=com.facebook.Facebook.platform Code=102 “操作无法完成。(com.facebook.Facebook.platform 错误 102。)” UserInfo=0x14dd1a10 {error_message=无法验证应用程序,因为应用名称不匹配。请检查对话框配置的应用名称,app_id=000000,error_code=102}

(在此消息中,我只是将我从 Facebook 开发者页面获得的 app_id 替换为零。)

在 Facebook 应用设置中,我设置如下:

  • “显示名称”:与应用名称同名
  • “捆绑 ID”,字符串由 [[NSBundle mainBundle] bundleIdentifier]; 返回
  • 应用处于“实时”状态(不在沙盒中)
  • “深度链接”和“连接到 FB”:均已激活

当我在 FB 开发页面上保存我的设置时,我收到一条警告说我没有设置 AppStore 标识符(由于我正在开发应用程序,所以它还不可用)。

你能告诉我我做错的小事吗?

提前感谢您的回复。

如有必要,我很乐意为您提供更多信息。

【问题讨论】:

  • 您是否尝试过删除“深层链接”?您不需要选择它。此外,该应用程序可以被沙盒化,您仍然可以测试您的 iPhone 应用程序。
  • 感谢您的提示,但问题是我将 FacebookDisplayName 参数设置为错误的值。
  • 我在 facebook 显示名称中找到了特殊 utf8 字符的解决方案:stackoverflow.com/questions/22050613/…
  • 在这个问题上花了两天时间后,我的原因是为“图像”提供了不完整的链接。使用 NSURL.path 而不是 NSURL absoluteString,facebook SDK 返回代码 102
  • 我的错误是使用 fileUrlWithPath 而不是字符串

标签: ios facebook


【解决方案1】:

这通常来自您在 .plist 中设置 FacebookDisplayName,但您在此处设置的内容与您在 Facebook 应用设置中的应用名称不匹配。

您在 FacebookDisplayName 中提供的值必须与您在 Facebook 上设置的值一致。

【讨论】:

  • 好的,这就是问题所在!感谢您的帮助!
  • 另外,我使用了一个测试 Facebook 帐户,该帐户未经验证。使用经过验证的帐户,它运行良好!
  • Answer 在 Android 集成方面对我很有帮助。
  • @Ming Li 这绝对是正确答案。确保显示名称中没有特殊字符或标点符号。我删除了一个句号和一个hypen,一切正常。本质上将您的应用程序 FB 显示名称命名为变量...
【解决方案2】:

如果出现错误 102,请检查关注

  1. FacebookDisplayName 在 plist URL Scheme 中设置正确且正确
  2. fbxxxxxxxxxxx添加到plist中
  3. FacebookAppID 在 plist 文件中设置正确
  4. 在“状态和审查”部分确保您有“您想将此应用程序及其所有实时功能提供给公众吗?” make 为 YES(默认设置为 No)

【讨论】:

  • 你的回答对我帮助很大,我错过了第 4 种情况,启用它并开始工作,谢谢@mihir mehta
  • 我还需要启用应用程序,如 4)。谢谢!
  • 请注意,答案 #4 是在 Facebook 开发者网站上配置的。该部分的当前名称是“App Review”,问题的当前文本是“Make public?”还是默认设置为No,需要设置为Yes。
【解决方案3】:

对我来说,这些解决方案都不起作用。原来我只需要从 info.plist 中删除 facebookDisplayName 记录。奇怪,但它有效

【讨论】:

  • 也为我解决了这个问题,但我仍然无法接受这种解决方法
【解决方案4】:

还有一个变音符号的问题,你不能在FacebookDisplayName中使用它...例如č,ž,š等。如果你写的都是没有变音符号,它可以正常工作。

【讨论】:

    【解决方案5】:

    我同意@user3170877。它不能像日文和韩文一样使用。我建议只使用英语。

    【讨论】:

      【解决方案6】:

      登录 Facebook 开发者帐户并检查状态是在线还是开发中。如果它处于开发中,则将其更改为实时。这对我有用。

      【讨论】:

        【解决方案7】:

        如果其他答案都没有为您解决此问题,最后要检查的一件事是 Facebook 应用设置中的捆绑 ID。
        我的 iOS 应用程序遇到了这个问题,该应用程序使用不同的包标识符,具体取决于我使用的构建配置。
        您可以在 Facebook 应用设置中指定多个 Bundle ID。

        【讨论】:

          【解决方案8】:

          如果您的 Facebook 应用状态为“开发中且不向公众开放”将导致相同的结果。

          您可能希望在 Facebook 应用菜单的“应用审核”下将其更改为公开。或者您需要以“Administrators”、“Developers”或“Testers”角色登录 Facebook

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-07-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多