Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Swift 4 UIActivityViewController通过空投发送图像_Swift_Swift4 - Fatal编程技术网

Swift 4 UIActivityViewController通过空投发送图像

Swift 4 UIActivityViewController通过空投发送图像,swift,swift4,Swift,Swift4,我有一个问题,我想发送一个电子邮件,信息和空投图像。目前只有电子邮件和消息可以工作,当我尝试每次空投发送时,设备会得到一个.data文件,我无法打开。我怎样才能解决这个问题 @IBAction func sendItButton(_ sender: UIBarButtonItem) { let imageShare = [ image! ] let activityViewController = UIActivityViewController(activityItems:

我有一个问题,我想发送一个电子邮件,信息和空投图像。目前只有电子邮件和消息可以工作,当我尝试每次空投发送时,设备会得到一个.data文件,我无法打开。我怎样才能解决这个问题

@IBAction func sendItButton(_ sender: UIBarButtonItem) {

    let imageShare = [ image! ]
    let activityViewController = UIActivityViewController(activityItems: imageShare , applicationActivities: nil)
    activityViewController.popoverPresentationController?.barButtonItem = sender
    self.present(activityViewController, animated: true, completion: nil)


}

我今天也遇到过类似的问题,如果UIImage来自bundle中的.jpeg图像,那么UIActivityViewController上似乎有一个bug。我使用图像的文件URL(而不是UIImage)作为activityItems,效果很好

private func urlForBundleFile(filename: String) -> URL? {
    let components = filename.components(separatedBy: ".")
    return Bundle.main.url(forResource: components[0], withExtension: components[1])
}

let imageURL = urlForBundleFile(filename: "someImage.jpeg")
let activityViewController = UIActivityViewController(activityItems: [imageURL] , applicationActivities: nil)

仔细检查
imageShare
是否为
UIImage
类型?我认为我无法用它解决问题。问题是,如果我通过电子邮件发送,会发送一个图像,但如果我用AirDrop尝试,会得到一个.data文件