UIActivityViewController - Can't AirDrop a more than one object type simultaneously

689 views Asked by At

I'd like to be able to AirDrop a text file and an image at the same time using the UIActivityViewController. The code below works fine to send both file types via iMessage or eMail, but it fails when I try to use AirDrop. The code works fine for AirDropping 2 images or 2 text files, but not for one of each.

@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)
}
1

There are 1 answers

1
ccjensen On

AirDrop to an iOS device does not support sending multiple different types, but sending to a mac does. Until Apple changes that there is no code change that you can do to "fix" this.