问题标签 [fbsdksharekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
94 浏览

ios - 如何将 FBSDKShareAPI 用于页面和组

背景:我有使用 FBSDKGraphRequest 将“故事”(链接+图片+文本)发布到用户的时间线、组和页面的工作代码。对于组和页面,通过指定(作为示例)/{group-id}/feed 作为要发布到的 Open Graph 节点并使用正确的访问令牌来发布帖子。

我已经处理了应用程序评论、权限和访问令牌,一切正常。

但现在我正尝试转向允许定义对象、动作和内容的 FBSDKShareKit 方法。但是,我找不到任何方法来指定要共享的所需图形路径或要使用的访问令牌。FBSDKShareAPI 默认为用户的提要,我找不到任何修改它的机制。有没有人知道如何做到这一点?

0 投票
0 回答
363 浏览

ios - FBSDKSharingDelegate 回调仅适用于 FBSDKShareDialogModeShareSheet - 这是预期的行为吗?[iOS 10 + 11]

我一直在使用这样的代码将视频分享到 Facebook:

其中委托符合 FBSDKSharingDelegate 并实现这些方法来跟踪结果:

我观察到这些回调在 iOS 10 上为 FBSDKShareDialogModeShareSheet 工作,但在其他相同的实现中,当使用其他对话模式(例如)FBSDKShareDialogModeNative 时,它​​们不会被调用。在 iOS 11 中,似乎不再提供共享表模式(可能是由于社交框架的更改)。

我的应用程序中没有 Facebook 登录名(也没有任何登录名),除了期望用户在本机 FB 应用程序中进行身份验证外,我也没有做任何事情来请求 FB 权限。是否预计这些回调不会在这些其他对话模式下执行,或者我应该做些什么特别的事情来让它们在这种情况下工作?

FB 文档状态

只要应用程序有权接收信息,代理就会收到共享者的结果通知。例如,如果此人未登录包含应用程序,则共享者可能无法区分共享的完成和取消。

我们显然将用户传递给他们在其中进行身份验证的本机 Facebook 应用程序 - 我不确定为什么这适用于一种对话模式而不适用于另一种对话模式。我宁愿不必要求用户登录,因为重点是使用本机 FB 应用程序并让 FB 在内部管理自己的业务。

任何帮助将非常感激。谢谢!

0 投票
1 回答
430 浏览

swift3 - 未找到架构 arm64 的 FBSDKShareKit 框架

Xcode 在我构建时没有找到框架 FBSDKSharekit。 错误

我已经有了 Firebase 身份验证的配置(使用 FBSKCoreKit、FBSDKLoginKit、Bolt)。我只需要 FBSDKShareKit。

依赖项

我遵循 Carthage 的所有安装过程,但它不起作用。并且配置了搜索路径

Xcode 在 9.2 版本和 Swift 3 上运行

0 投票
1 回答
795 浏览

ios - 与 FBSDK 共享视频时如何显示对话框?

分享静态照片时,我可以让我的应用切换到 Facebook 以分享该图像。它似乎与视频不一样。

这分享了一张照片就好了。它移动到 Facebook 应用程序以确认该帖子:

同样,共享视频时我不能这样做!没有对话,不切换到 Facebook 应用程序,也不发布视频:

这将分享我的视频,但立即没有对话,或者首先转移到 Facebook 应用程序!

根据文档,我可能需要将我的 fileURL 转换为资产 URL。我不清楚是否应该使用 FBSDKShareAPI:

如果我取消注释 FBSDKShareAPI.share 函数调用,我会在我的控制台中看到“TIC 读取状态”,它最终会发布到 Facebook,但不会显示本机共享对话框。(基本上它在没有任何视觉反馈给用户的情况下无形地分享给 Facebook)。我希望它移动到 Facebook 应用程序,内容需要用户确认,就像在我的应用程序中共享照片一样。

另一种尝试是使用带有初始化参数“videoURL”和“previewPhoto”的FBSDKShareVideo。我确保视频小于 12 兆字节(在我的情况下为 4.4 MB),sharePhoto 和那个 fileURL 都是有效的。共享对话框不起作用,这意味着它不会转移到本机 Facebook 应用程序中。Facebook 开发人员指南使用 imagePickerController 显示它,这可能意味着 SDK 需要来自相机胶卷的视频。

0 投票
0 回答
569 浏览

swift - ios swift FBSDKShareKit 在没有 ShareDialog 视图控制器的情况下发布(共享)内容

再会!

我想在“用户开始直播”时使用“分享 facebook”功能

在此处输入图像描述

如果该 Fb 按钮打开,然后用户触摸该直播按钮,内容将自动发布在用户在 Facebook 的时间线上,然后开始“直播”

所以 ShareDialog 不会出现。但是如果应显示 ShareDialog 以获得许可,我想在用户触摸该 fb 按钮时执行此操作。

======== 参考

https://developers.facebook.com/docs/sharing/opengraph/ios

请给我一些建议。太感谢了

0 投票
1 回答
2265 浏览

facebook - 无法构建模块“FBSDKShareKit”

我正在升级一些 pod,即支持ParseLiveQuery. 我现在在我的一个头文件中遇到错误

无法构建模块“FBSDKShareKit”

同样在我的错误中:

在此处输入图像描述

播客文件:

我已经删除了派生数据、清理、清除了我的 Pods 目录和 Podfile.lock。有关如何修复的任何建议?

编辑:这是由于use_modular_headers!在看到此错误后包含源于我的行为而引起的

[!] 以下 Swift pod 还不能集成为静态库:

Swift podParseLiveQuery依赖于Parseand Bolts,它们不定义模块。要选择那些生成模块映射的目标(在构建为静态库时需要从 Swift 导入它们),您可以use_modular_headers!在 Podfile 中全局设置,或指定:modular_headers => true特定的依赖项。

0 投票
1 回答
224 浏览

ios - 无法使用 Facebook 4.37.0 从 iOS 打开 Messenger

我正在尝试打开 Facebook Messenger 以从我的 iOS 应用程序发送消息。我目前正在运行 Facebook SDK 版本 4.37.0。根据iOS - Sharing,这应该是可能的。它说

人们还可以使用 Messenger Expression Platform 或从 iOS SDK 中的共享消息对话框将内容从您的应用程序共享到 Facebook Messenger。

如果您单击Message Dialog的链接,它会为您提供以下示例:

我已经实现了这个以及 FBSDKSharingDelegate 委托方法:

委托方法永远不会被调用。我所期望的是会打开一个 Facebook Messenger 对话框,允许我选择要发送消息的朋友。但是什么都没有打开。并且没有记录错误。

我确实知道 facebook 收到了一些东西,因为我得到了以下信息:

任何帮助或指示将不胜感激。

0 投票
1 回答
450 浏览

ios - 无法通过 iOS 应用程序发布到 Facebook 的深层链接

我正在尝试使用 FBSDK,特别是 FBSDKShareKit 让用户从我的应用程序中发布指向他们墙的深层链接。我在 Facebook 开发人员处设置了我的应用程序(我知道这不是问题,因为我的应用程序用户使用 Facebook 登录没有问题)并且有一个与应用程序关联的方案后缀。 在此处输入图像描述

我的应用程序的 info.plist 具有相同的后缀集。我知道这很有效,因为当从 Safari 打开带有此后缀的 URL 时,它会导航到我的应用程序。 在此处输入图像描述

打开 URL 时,我的应用程序委托会检查 URL 主机是否与某个字符串匹配,如果匹配,我会检查 URL 路径是否与某个字符串匹配。如果这两个都匹配,那么我解析从 URL 传递的参数,创建一个自定义对象(在本例中为一个事件),实例化一个视图控制器,并使用自定义对象的属性填充该视图控制器。

这段代码的工作原理是我通过使用一些参数从另一个应用程序打开一个 URL 来测试它的,并且在应用程序打开时会显示相应的视图控制器。URL 可能如下所示:

我的问题在于通过 Facebook 实际呈现深层链接。我尝试了两种方法:

  1. 通过将按钮的 shareContent 设置为 FBSDKShareLinkContent 使用 FBSDKShareKit 的 FBSDKShareButton,其内容 url 等于上面显示的内容。这样做会导致 FBSDKShareButton 灰显,即禁用。将内容的 URL 更改为“www.google.com”之类的内容会启用该按钮,这意味着 Facebook 出于某种原因不喜欢我的 URL。

    /li>
  2. 使用 iOS 的 Social 框架来实例化 SLComposeViewController,将所述视图控制器的 URL 设置为与上面相同的 URL,并呈现视图控制器。通过 Facebook 发布后,我收到错误消息“共享您的链接时出现问题”。同样,当用“www.google.com”替换有问题的 URL 时,帖子成功通过,再次表明 Facebook 出于某种原因不喜欢我提供的深层链接。

    /li>

显示链接的 SLComposeViewController,Facebook 显然不喜欢

尝试通过 SLComposeViewController 在 Facebook 上发布我的深层链接时出现的错误

所以,总而言之,我认为这里的问题在于 Facebook 不允许我发帖的事实:

代表用户。如果是这种情况,我应该如何格式化我的深层链接,以便用户可以从我的应用程序将其发布到他们的墙上,有效地与他们的 Facebook 朋友分享活动,并在理想情况下为我的应用程序带来更多流量?

0 投票
2 回答
87 浏览

ios - 点按共享图像打开 URL

我正在使用 - FBSDKShareKit (4.40.0):我想在 facebook 上分享图片。它应该是可点击的,并且应该像 Endomondo 应用程序一样打开网站。

在此处输入图像描述 我已经尝试过这段代码,但 url 覆盖了照片并且它们没有显示:

他们是怎么做到的?

0 投票
2 回答
976 浏览

ios - 接收器类型“FBSDKError”(又名“枚举 FBSDKError”)不是 Objective-C 类

升级 Facebook SDK 后,出现错误。

生成的 pod 是:

我已经在 Podfile 中像这样升级了 SDK 并运行了 pod install:

预期的:

项目编译。

实际的:

/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m:78:11:接收器类型“FBSDKError”(又名“枚举 FBSDKError”)不是 Objective-C 类