Share and Download files from application in Swift
Updated 12 December 2023
Save
In today’s blog, we will learn how to Share and Download files from application in Swift.
Let’s create a sample project having an image and a download and share button to download and share the image.
Then create the download and share button outlet and let’s see the code for each of them.
Share File
A lot of developers want to be able to share their app data via email, Messages, or AirDrop. Sharing is a convenient way for users to send data to each other or between devices. It may even net you some new customers!
Here I have taken an image file that has to share.
Please follow below steps to share the file:
Step 1: First initialize the image link.
1
let imgLink="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png"
Step 2: Then, create the outlet
1
2
3
4
5
6
7
8
9
10
11
@IBAction func shareClicked(_sender:Any){
let objectsToShare=[link]as[Any]
let activityVC=UIActivityViewController(activityItems:objectsToShare,applicationActivities:nil)
Step 3: Now, when you click the share button the Share popup will appear.
Please check here to share the file code in objective C.
Download File
Now, let’s see the steps to download a file.
Step 1: First initialize the image link.
1
let imgLink="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png"
Step 2: Create downloadImage and getData functions.
Step 3: Finally call the downloadImage function from our outlet.
1
2
3
4
@IBAction func downloadCLicked(_sender:Any){
let url=URL(string:imglink)!
downloadImage(from:url)
}
Please check here if you want to download and view PDF in swift.
Downloading a file from URL using Alamofire
There are various ways to download the files from a URL but the best way to download it using Alamofire because it provides us various sub functionalities like:
a) downloadProgress : For showing the fraction completed while downloading the files.
b) validation : Allows to check the errors while downloading the files.
c) responseData: Contains the response for download.
Here is the code for using the Almofire for downloading from the URL :
let AC=UIAlertController(title:GlobalData.sharedInstance.language(key:"success"),message:GlobalData.sharedInstance.language(key:"filesavemessage"),preferredStyle:.alert)
let okBtn=UIAlertAction(title:"view",style:.default,handler:{(_action:UIAlertAction)->Voidin
self.documentPathUrl=response.destinationURL
//open file
})
let noBtn=UIAlertAction(title:GlobalData.sharedInstance.language(key:"cancel"),style:.destructive,handler:{(_action:UIAlertAction)->Voidin
})
AC.addAction(okBtn)
AC.addAction(noBtn)
self.present(AC,animated:true,completion:{})
}else{
GlobalData.sharedInstance.dismissLoader()
}
}
}
I hope this, will make you more comfortable using Alamofire functionality for downloading from the URL into your app. Thanks for tuning in once again!
Please follow the above steps to download and share the files in the application.
Be the first to comment.