如何使用返回到应用程序的链接共享到Facebook?斯威夫特

时间:2018-07-09 05:55:09

标签: ios swift deep-linking facebook-share

您好,基本上我想使用他们的Facebook API与Facebook分享,但是如何添加链接,如果他们单击它们可以返回到该应用程序,或者如果他们没有该应用程序,则可以转到应用程序商店已安装?

编辑^

所以我想澄清我的问题。例如,在应用程序中,我有一个显示产品的产品页面。然后,我将该产品共享给Facebook,当您在Facebook中发布产品时(我已经知道如何添加图像和文本),我希望它显示该应用程序;当您单击该应用程序时,如果该应用程序直接进入该产品页面已安装。如果没有,它将进入应用程序商店下载该产品。

2 个答案:

答案 0 :(得分:1)

首先请确保将IBAction连接到您的视图控制器代码。

URL共享:

    @IBAction func shareURL(_ sender: Any) {
    let URLstring =  String(format:"https://itunes.apple.com/in/app/facebook/id284882215?mt=8")
    let urlToShare = URL(string:URLstring)
    let title = "title to be shared"
    let activityViewController = UIActivityViewController(
        activityItems: [title,urlToShare!],
        applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = self.view
    //so that ipads won't crash
    present(activityViewController,animated: true,completion: nil)
}

文本共享:

    @IBAction func shareText(_ sender: Any) {
    let text = "Text to be shared"
    let activityViewController = UIActivityViewController(activityItems:[text],applicationActivities:nil)
   activityViewController.popoverPresentationController?.sourceView = self.view
    present(activityViewController,animated: true,completion: nil)
}

图像共享:

    @IBAction func shareImage(_ sender: Any) {
    let image = #imageLiteral(resourceName: "myImage")
    let activityViewController = UIActivityViewController(activityItems:[image],applicationActivities:nil)
   activityViewController.popoverPresentationController?.sourceView = self.view
    present(activityViewController,animated: true,completion: nil)
}

当用户单击Facebook按钮进行共享时,它将直接将他们连接到App Store(对于那些没有它的人)或Facebook以进行共享。

答案 1 :(得分:0)

如果我正确理解了您的问题,则可以解决以下问题。它将检查设备中是否安装了Facebook,如果已安装FB则将打开Facebook,否则将打开iTunes链接以下载该应用程序。这很快。4。另外,您需要在info.plist

中为FB添加URL方案。
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fb</string>
    </array>

        var url = URL(string: "fb://")!

        if (UIApplication.shared.canOpenURL(url)) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
            print("Opened FB App")
        }
        else{
            url = URL(string: "https://itunes.apple.com/in/app/facebook/id284882215?mt=8")!
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
                print("Opened FB in iTunes")            
        }