xcode - 如何从其他应用程序在 Facebook Messenger 上分享链接?

标签 xcode swift fbsdkmessengersharekit

来自 Facebook Developer Documentation ,我看到我可以将图像、动画图像,甚至音频剪辑从其他应用程序共享到 Facebook Messenger。但我看不出有什么办法可以分享链接。当我尝试查看 FBSDKMessengerShare 提供的共享类型时,也没有。

enter image description here

如何使用 Facebook Messenger 共享链接?

最佳答案

似乎用 FBSDKMessengerShare 做不到,但是用 FBSDKShareKit 是可以的。 (我正在使用 Xcode 8.3、Swift 3.1、Cocoapods 和 FacebookShare 0.2.0)

更多信息可在 https://developers.facebook.com/docs/sharing/ios

有两种方法:

  1. 使用 FBSDKMessageDialog: “消息对话框切换到 iOS 版原生 Messenger 应用程序,然后在发布帖子后将控制权返回给您的应用程序。”

    @IBAction func messengerButtonAction(_ sender: UIButton) {
    
        let linkContent = FBSDKShareLinkContent()
        linkContent.contentURL = URL(string: "https://itunes.apple.com/in/app/someValidAppURL...")
    
        let dialog = FBSDKMessageDialog()
        dialog.shareContent = linkContent
        dialog.shouldFailOnDataError = true
    
        if dialog.canShow() {
            dialog.show()
        }
    }
    
  2. 使用 FBSDKSendButton:“发送按钮允许人们使用 Facebook Messenger 私密地向他们的 friend 和联系人发送照片、视频和链接。发送按钮将调用消息对话框。”

    这将创建一个显示在指定 View 中的共享按钮。如果设备上未安装 Messenger 应用程序,该按钮将自动禁用。

    override func viewDidLoad() {
    
        let linkContent = FBSDKShareLinkContent()
        linkContent.contentURL = URL(string: "https://itunes.apple.com/in/app/someValidAppURL...")
    
        let button = FBSDKSendButton()        
        button.shareContent = linkContent      
        if button.isEnabled { 
           self.view.addSubview(button) 
        }
    }
    

关于xcode - 如何从其他应用程序在 Facebook Messenger 上分享链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586429/

相关文章:

arrays - Swift:如果数组的自定义对象元素具有相同的键,则合并它们

ios - NSUserDefaults Multi 值为 nil

ios - 从数组返回的属性创建常量

ios - 使用 FBSDKMessenger 打开特定用户的 facebook Messenger

xcode - 在 Runner.xcodeproj/project.pbxproj 中硬编码 FLUTTER_ROOT

xcode - 在 Swift 中返回一个未包装的可选?

ios - 无法为 arm (iOS) 交叉编译 C 库

ios - 在 Swift 中访问 plist(错误 : "Expressions are not allowed at the top level")