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

434
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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