Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift UIActivityViewController图像和;Url共享不与FB一起工作_Ios_Facebook_Swift_Uiactivityviewcontroller - Fatal编程技术网

Ios Swift UIActivityViewController图像和;Url共享不与FB一起工作

Ios Swift UIActivityViewController图像和;Url共享不与FB一起工作,ios,facebook,swift,uiactivityviewcontroller,Ios,Facebook,Swift,Uiactivityviewcontroller,我正在使用UIActivityViewController共享图像。在Facebook最近的变化之后。我可以单独共享图像和Url,但我不能同时共享图像和Url。同样的代码适用于邮件、推特等,不知道我在Facebook上遗漏了什么 func shareImage() { var myWebsite = NSURL(string:"http://www.google.com/") var img: UIImage = currentPhoto! var shareItems:

我正在使用UIActivityViewController共享图像。在Facebook最近的变化之后。我可以单独共享图像和Url,但我不能同时共享图像和Url。同样的代码适用于邮件、推特等,不知道我在Facebook上遗漏了什么

func shareImage() {
    var myWebsite = NSURL(string:"http://www.google.com/")
    var img: UIImage = currentPhoto!
    var shareItems:Array = [img, myWebsite]
    let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo]
    self.presentViewController(activityViewController, animated: true, completion: nil)

}

我已修改了您的swift 2.0代码:

@IBAction func shareButtonPressed(sender: AnyObject) {

    let myWebsite = NSURL(string:"http://www.google.com/")
    let img: UIImage = image!

    guard let url = myWebsite else {
        print("nothing found")
        return
    }

    let shareItems:Array = [img, url]
    let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo]
    self.presentViewController(activityViewController, animated: true, completion: nil)

}
它正在发布一张带有URL的图片

使用此代码生成的结果:


这是我的解决方案。实现
UIActivityItemSource
协议。支持文本、URL和图像

func doShare() {
    let viewController = UIActivityViewController(activityItems: ["ScreenSort for iOS.", URL.init(string: "https://itunes.apple.com/app/id1170886809")!], applicationActivities: nil)
    viewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash
    self.present(viewController, animated: true, completion: nil)
}

extension YourViewController: UIActivityItemSource {
    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
        return ""
    }

    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {
        return URL.init(string: "https://itunes.apple.com/app/id1170886809")!
    }

    func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivityType?) -> String {
        return "ScreenSort for iOS: https://itunes.apple.com/app/id1170886809"
    }

    func activityViewController(_ activityViewController: UIActivityViewController, thumbnailImageForActivityType activityType: UIActivityType?, suggestedSize size: CGSize) -> UIImage? {
        return nil
    }
}

共享图像和文本

        let imgShare : UIImage = UIImage(named: "store")!
        let textToShare = "Image form My app."

        let objectsToShare = [textToShare, imgShare]
        let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

        activityVC.popoverPresentationController?.sourceView = sender
        self.presentViewController(activityVC, animated: true, completion: nil)
斯威夫特3

    let myWebsite = NSURL(string: visitedlink)

    let img: UIImage = UIImage(named:"Logo")!

    guard let url = myWebsite else {
        print("nothing found")
        return
    }

    let shareItems:Array = [img,url]
    let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivityType.print, UIActivityType.postToWeibo, UIActivityType.copyToPasteboard, UIActivityType.addToReadingList, UIActivityType.postToVimeo]
    self.present(activityViewController, animated: true, completion: nil)

你的Facebook本机应用程序版本?我也有,而且运行良好。。尝试使用其他设备发布。抱歉,伙计,我不知道为什么它不工作。如果有人知道这个问题,请等待另一个答案。不,您不能,因为预定义的文本将被忽略。正如我所说,您不能添加文本:)我试图在Facebook上发布这张图片,但没有发布。只能共享URL。。我们不能使用UIActivityViewController在Facebook上共享图像/视频吗?最近你不能吗?你必须使用自己的SDK:(@AnandGautamCorrect@Safad Funy,但我们可以使用SLComposeViewController在Facebook上共享图像,但需要使用FB SDK进行视频共享。