UIActivityViewController - 无法同时 AirDrop 多个对象类型

Chr*_*fus 5 uiactivityviewcontroller airdrop swift

我希望能够使用 UIActivityViewController 同时 AirDrop 文本文件和图像。下面的代码可以很好地通过 iMessage 或电子邮件发送两种文件类型,但当我尝试使用 AirDrop 时,它会失败。该代码适用于 AirDropping 2 个图像或 2 个文本文件,但不适用于其中每一个。

@IBAction func shareImage(_ sender: UIButton)
{
    // can't seem to AirDrop a mixture of file types. ie. can send 2 images, or 2 data files, but not an image and a data file
    let fileToSend: NSURL = NSURL(fileURLWithPath: dataFile!)
    let image = imageView.image!
    let objectsToShare = [fileToSend, image] as [Any]
    let controller = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

    controller.excludedActivityTypes = [UIActivityType.postToFacebook, UIActivityType.postToTwitter, UIActivityType.postToWeibo, UIActivityType.print, UIActivityType.copyToPasteboard, UIActivityType.assignToContact, UIActivityType.saveToCameraRoll, UIActivityType.postToFlickr, UIActivityType.postToTencentWeibo]
    self.present(controller, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

ccj*_*sen 1

AirDrop 到 iOS 设备不支持发送多种不同类型,但发送到 Mac 则支持。在 Apple 做出更改之前,您无法更改代码来“修复”此问题。