Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

977
Vistas
compartir archivo pdf usando UIActivityViewController en Swift 4

Estoy usando UIActivityViewController para compartir un archivo PDF:

 let pdfFilePath = URL(string: "https://www.tutorialspoint.com/swift/swift_tutorial.pdf") let pdfData = NSData(contentsOf: pdfFilePath!) let activityVC = UIActivityViewController(activityItems: [pdfData!], applicationActivities: nil) present(activityVC, animated: true, completion: nil)

Se muestra el siguiente resultado:

ingrese la descripción de la imagen aquí

Lo que quiero es mostrar más funciones como "copiar a Libros" y "Agregar a Notas" como las siguientes:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea compartir su archivo pdf que está en el servidor y tiene una URL. Luego, primero descarga ese archivo en su dispositivo y luego comparte ese archivo con cualquier otra persona.

Si usa Alamofire en su código, entonces hay un código.

estribo 1

 import Alamofire

estribo 2

Agregue esta función en su clase: -

 func downloadPdf(downloadUrl : String, fileName: String, completionHandler:@escaping(String, Bool)->()){ let destinationPath: DownloadRequest.DownloadFileDestination = { _, _ in let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]; let fileURL = documentsURL.appendingPathComponent("\(fileName).pdf") return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) } print(downloadUrl) Alamofire.download(downloadUrl, to: destinationPath) .downloadProgress { progress in } .responseData { response in print("response: \(response)") switch response.result{ case .success: if response.destinationURL != nil, let filePath = response.destinationURL?.absoluteString { completionHandler(filePath, true) } break case .failure: completionHandler("", false) break } } }

estribo 3

Agrega esta acción en tu botón de compartir

 @IBAction func btnShareAction(_ sender: UIButton) { let myURL = "http://www.demo.com/demo.pdf" // change this with your URL self.downloadPdf(downloadUrl : myURL, fileName: "invoice") { (localFileUrl, bool) in let fileURL = NSURL(fileURLWithPath: localFileUrl) let activityViewController = UIActivityViewController(activityItems: [fileURL], applicationActivities: nil) self.present(activityViewController, animated: true, completion: nil) } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda