Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

430
Views
Condensador iónico: captura de pantalla de la galería (iOS)

No he podido encontrar ninguna solución a esto.

Estoy usando Ionic Framework 5+ y usando Capacitor 3+.

Necesito poder hacer que el usuario tome una captura de pantalla en iOS y Android y que esa captura de pantalla se guarde automáticamente en la galería de fotos de los usuarios. Android funciona bien con el siguiente código. iOS también funciona, sin embargo, guarda el archivo en un directorio temporal, por lo que debo mover el archivo a cualquier directorio al que deba ir en iOS para que el usuario pueda verlo en su galería de fotos.

 import { Screenshot } from '@ionic-native/screenshot/ngx'; this.screenshot.save('jpg', 80).then((res) => { this.filePath = res.filePath; console.log(this.filePath); });

¿Hay alguna manera de usar la API de FileSystem Capacitor para guardar esta foto en this.filePath en la galería de iOS?

¿Hay otra forma de pasar de la captura de pantalla a la galería en iOS?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

En iOS, la galería es algo externo a su aplicación y no se puede acceder a través del complemento del sistema de archivos porque no hay una ruta (e incluso si la hubiera, las aplicaciones de iOS están en un espacio aislado, no puede acceder a otras aplicaciones, solo a su aplicación) contenido)

Puede guardar una UIImage nativa en la galería con este código nativo:

UIImageWriteToSavedPhotosAlbum(yourImage, nil, nil, nil) pero tiene una ruta nativa, no una UIImage, por lo que primero tendrá que convertir la ruta a UIImage, con algo como let yourImage = UIImage.init(contentsOfFile: imagePath) . Entonces, con ese código puedes crear un complemento que envíe la ruta y guarde la imagen en la galería.

También puede buscar complementos que ya lo hagan. Existe este que guarda una cadena base64 que representa una imagen en la galería https://ionicframework.com/docs/native/base64-to-gallery

También hay capacitor-community/media que tiene una función savePhoto, que toma una ruta y guarda la foto en la galería.

https://github.com/capacitor-community/media#api

over 4 years ago · Santiago Trujillo Report

0

Esto funciona para iOS. Lo estoy usando en producción en este momento. El problema fundamental tenía que ver con el hecho de que la biblioteca Capacitor Community Media no estaba muy bien documentada para especificar el formato exacto necesario para que funcionara. Esta es la versión de trabajo del package.json de la biblioteca: "@capacitor-community/media": "github:dragermrb/media" .

 this.screenshot.save().then(async (res) => { const savePhotoResult = await Media.savePhoto({ path: `file://${res.filePath}`, album: this.album.identifier }); });
over 4 years ago · Santiago Trujillo Report

0

Como haces la instalación de @ionic-native/screenshot/ngx y el plugin como tal, si usas capacitor, estoy un poco perdido con eso

about 4 years ago · Daniel Acosta Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!