SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Enrique Aguilar Vargas
(@enriqueaguilar)
Funcionalidad de la Cámara,
TouchID y Mapas en Xamarin
iOS
Enrique Aguilar
• Xamarin MVP.
• Director de la Facultad de Tecnologías de Información de la
Universidad De La Salle Bajío México.
• Consultor en Implementaciones Móviles en empresas de
Manufactura en Guanajuato y Jalisco en México.
• Profesor Internacional de Posgrado Invitado por la Universidad
Nacional de Ingeniería de Nicaragua en temas de Seguridad de
la Información.
• Speaker sobre Desarrollo Móvil con más 40 conferencias en
México y 20 a nivel Internacional en diferentes lugares de
Colombia, Bolivia, Nicaragua y Venezuela.@enriqueaguilar
Agenda
Autorización de uso de la aplicación con el TouchID
Uso de AvFoundation para acceso a la cámara.
Manipular la Imagen mediante controles de la cámara
Ubicación y asignación de coordenadas en el Mapa
1.- Autorización de uso de
la aplicación con el TouchID
Codificación para el uso del TouchID
Codificación para el uso del TouchID
Codificación para el uso del TouchID
Prueba del TouchID con el Simulador
2.- Uso de AvFoundation
para acceso a la cámara.
1.- Liberamos espacio en la parte
superior, ya que ahí se mostrará la
salida de la cámara.
2.- Agregamos un botón que permitirá
capturar la imagen de la cámara en iOS.
3.- Agregamos un Image View donde se
mostrará la imagen capturada.
Creamos una app para iOS que tenga lo siguiente:
Código Xamarin.iOS – Uso de la cámara
string archivoLocal;
AVCaptureDevice dispositivodeCaptura;
AVCaptureSession sesiondeCaptura;
AVCaptureDeviceInput entradaDispositivo;
AVCaptureStillImageOutput salidaImagen;
AVCaptureVideoPreviewLayer preview;
string ruta;
byte[] arregloJpg;
async Task autorizacionCamara()
{
var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);
if (estatus != AVAuthorizationStatus.Authorized)
{
await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
}
}
using System;
using UIKit;
using System.Drawing;
using System.Threading.Tasks;
using AVFoundation;
using Foundation;
using System.IO;
Código Xamarin.iOS – Uso de la cámara
string archivoLocal;
AVCaptureDevice dispositivodeCaptura;
AVCaptureSession sesiondeCaptura;
AVCaptureDeviceInput entradaDispositivo;
AVCaptureStillImageOutput salidaImagen;
AVCaptureVideoPreviewLayer preview;
string ruta;
byte[] arregloJpg;
async Task autorizacionCamara()
{
var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);
if (estatus != AVAuthorizationStatus.Authorized)
{
await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
}
}
using System;
using UIKit;
using System.Drawing;
using System.Threading.Tasks;
using AVFoundation;
using Foundation;
using System.IO;
Código Xamarin.iOS – Uso de la cámara
string archivoLocal;
AVCaptureDevice dispositivodeCaptura;
AVCaptureSession sesiondeCaptura;
AVCaptureDeviceInput entradaDispositivo;
AVCaptureStillImageOutput salidaImagen;
AVCaptureVideoPreviewLayer preview;
string ruta;
byte[] arregloJpg;
async Task autorizacionCamara()
{
var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);
if (estatus != AVAuthorizationStatus.Authorized)
{
await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
}
}
using System;
using UIKit;
using System.Drawing;
using System.Threading.Tasks;
using AVFoundation;
using Foundation;
using System.IO;
public void ConfiguracionCamara()
{
sesiondeCaptura = new AVCaptureSession();
preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura)
{
Frame = new RectangleF(40, 50, 300, 350)
};
View.Layer.AddSublayer(preview);
dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video);
entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura);
sesiondeCaptura.AddInput(entradaDispositivo);
salidaImagen = new AVCaptureStillImageOutput()
{
OutputSettings = new NSDictionary()
};
sesiondeCaptura.AddOutput(salidaImagen);
sesiondeCaptura.StartRunning();
}
Código Xamarin.iOS – Uso de la cámara
public void ConfiguracionCamara()
{
sesiondeCaptura = new AVCaptureSession();
preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura)
{
Frame = new RectangleF(40, 50, 300, 350)
};
View.Layer.AddSublayer(preview);
dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video);
entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura);
sesiondeCaptura.AddInput(entradaDispositivo);
salidaImagen = new AVCaptureStillImageOutput()
{
OutputSettings = new NSDictionary()
};
sesiondeCaptura.AddOutput(salidaImagen);
sesiondeCaptura.StartRunning();
}
Código Xamarin.iOS – Uso de la cámara
public void ConfiguracionCamara()
{
sesiondeCaptura = new AVCaptureSession();
preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura)
{
Frame = new RectangleF(40, 50, 300, 350)
};
View.Layer.AddSublayer(preview);
dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video);
entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura);
sesiondeCaptura.AddInput(entradaDispositivo);
salidaImagen = new AVCaptureStillImageOutput()
{
OutputSettings = new NSDictionary()
};
sesiondeCaptura.AddOutput(salidaImagen);
sesiondeCaptura.StartRunning();
}
Código Xamarin.iOS – Uso de la cámara
Código Xamarin.iOS – Uso de la cámara
btnCapturar.TouchUpInside += async delegate
{
var salidadevideo = salidaImagen.ConnectionFromMediaType(AVMediaType.Video);
var bufferdevideo = await salidaImagen.CaptureStillImageTaskAsync(salidadevideo);
var datosImagen = AVCaptureStillImageOutput.JpegStillToNSData(bufferdevideo);
arregloJpg = datosImagen.ToArray();
string rutacarpeta = Environment.GetFolderPath
(Environment.SpecialFolder.Personal);
string resultado = "Foto";
archivoLocal = resultado + ".jpg";
ruta = Path.Combine(rutacarpeta, archivoLocal);
File.WriteAllBytes(ruta, arregloJpg);
Imagen.Image = UIImage.FromFile(ruta);
};
Código Xamarin.iOS – Uso de la cámara
btnCapturar.TouchUpInside += async delegate
{
var salidadevideo = salidaImagen.ConnectionFromMediaType(AVMediaType.Video);
var bufferdevideo = await salidaImagen.CaptureStillImageTaskAsync(salidadevideo);
var datosImagen = AVCaptureStillImageOutput.JpegStillToNSData(bufferdevideo);
arregloJpg = datosImagen.ToArray();
string rutacarpeta = Environment.GetFolderPath
(Environment.SpecialFolder.Personal);
string resultado = "Foto";
archivoLocal = resultado + ".jpg";
ruta = Path.Combine(rutacarpeta, archivoLocal);
File.WriteAllBytes(ruta, arregloJpg);
Imagen.Image = UIImage.FromFile(ruta);
};
3.- Manipular la Imagen
mediante controles de la
cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
Codificación para el uso del controles de la cámara
4.- Ubicación y asignación
de coordenadas en el
Mapa
1.- Liberamos espacio en la parte superior,
ya que ahí se mostrará la salida de la
cámara.
2.- Agregamos 3 sliders que permitirán
manipular la imagen de la cámara en iOS.
3.- Agregamos un control de tipo Mapa.
4.- Agregamos el botón de Capturar.
5.- Agregamos un Image View donde se
mostrará la imagen capturada.
Creamos una app para iOS que tenga la siguiente
estructura:
Agregamos las librerías de
CoreLocation, MapKit,
Plugin.Geolocator y
LocalAuthentication.
Agregamos las variables de
latitud y longitud, además del
CLLocationManager.
Codificación para el uso del Mapa
Codificación para el uso del Mapa
Codificación para el uso del Mapa
Codificación para el uso del Mapa
Demo Xamarin iOS
(Controles de la Cámara, Mapas,
Ubicación y TouchID)
Aplicación con Xamarin que edita la salida de la cámara,
obtiene la ubicación, se agrega a un Mapa, accede a la
aplicación vía el TouchID.
Enrique Aguilar Vargas
@enriqueaguilar
Códigos disponibles en:
github.com/enriqueaguilarvargas
Funcionalidad de la Cámara,
TouchID y Mapas en Xamarin
iOS
© 2016 Microsoft Corporation. All rights reserved. The text in this document is available under the Creative Commons Attribution 3.0 License, additional terms may apply. All other content contained in this document
(including, without limitation, trademarks, logos, images, etc.) are not included within the Creative Commons license grant. This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes.
This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples are for
illustration only and are fictitious. No real association is intended or inferred. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Más contenido relacionado

Similar a Xamarin iOS Cámara TouchID Mapas

Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUG
Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUGAdobe Flex 4.5 mobile y Adobe AIR 3 en ARFUG
Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUGMariano Carrizo
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
 
Usando Google Maps en tu Android App
Usando Google Maps en tu Android AppUsando Google Maps en tu Android App
Usando Google Maps en tu Android AppOscar Salguero
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDEPedro J. Molina
 
Imagen Fundamentos II
Imagen Fundamentos IIImagen Fundamentos II
Imagen Fundamentos IIOmar Sanchez
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedioenriqueaguilar
 
I+D Nuevas Tecnologias
I+D Nuevas TecnologiasI+D Nuevas Tecnologias
I+D Nuevas Tecnologiasguest4a350e
 
Android Studio y gradle. DroidconES 2014
Android Studio y gradle. DroidconES 2014Android Studio y gradle. DroidconES 2014
Android Studio y gradle. DroidconES 2014Kamil Zabdyr
 
Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Manuel Alonso Rosa
 
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017Realidad Aumentada y Multimedia - Presentación para Semana Global 2017
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017Dr. Edwin Hernandez
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition) Anderson Rubio
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilSoftware Guru
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilSoftware Guru
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 

Similar a Xamarin iOS Cámara TouchID Mapas (20)

Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUG
Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUGAdobe Flex 4.5 mobile y Adobe AIR 3 en ARFUG
Adobe Flex 4.5 mobile y Adobe AIR 3 en ARFUG
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas Xamarin
 
Usando Google Maps en tu Android App
Usando Google Maps en tu Android AppUsando Google Maps en tu Android App
Usando Google Maps en tu Android App
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDE
 
Testing de Apps Xamarin
Testing de Apps XamarinTesting de Apps Xamarin
Testing de Apps Xamarin
 
Imagen Fundamentos II
Imagen Fundamentos IIImagen Fundamentos II
Imagen Fundamentos II
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedio
 
I+D Nuevas Tecnologias
I+D Nuevas TecnologiasI+D Nuevas Tecnologias
I+D Nuevas Tecnologias
 
Android Studio y gradle. DroidconES 2014
Android Studio y gradle. DroidconES 2014Android Studio y gradle. DroidconES 2014
Android Studio y gradle. DroidconES 2014
 
Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015Taller Realidad Aumentada pamplona 29 mayo 2015
Taller Realidad Aumentada pamplona 29 mayo 2015
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017Realidad Aumentada y Multimedia - Presentación para Semana Global 2017
Realidad Aumentada y Multimedia - Presentación para Semana Global 2017
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition)
 
Xamarin ui test
Xamarin ui testXamarin ui test
Xamarin ui test
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 

Xamarin iOS Cámara TouchID Mapas

  • 1. Enrique Aguilar Vargas (@enriqueaguilar) Funcionalidad de la Cámara, TouchID y Mapas en Xamarin iOS
  • 2. Enrique Aguilar • Xamarin MVP. • Director de la Facultad de Tecnologías de Información de la Universidad De La Salle Bajío México. • Consultor en Implementaciones Móviles en empresas de Manufactura en Guanajuato y Jalisco en México. • Profesor Internacional de Posgrado Invitado por la Universidad Nacional de Ingeniería de Nicaragua en temas de Seguridad de la Información. • Speaker sobre Desarrollo Móvil con más 40 conferencias en México y 20 a nivel Internacional en diferentes lugares de Colombia, Bolivia, Nicaragua y Venezuela.@enriqueaguilar
  • 3. Agenda Autorización de uso de la aplicación con el TouchID Uso de AvFoundation para acceso a la cámara. Manipular la Imagen mediante controles de la cámara Ubicación y asignación de coordenadas en el Mapa
  • 4. 1.- Autorización de uso de la aplicación con el TouchID
  • 5. Codificación para el uso del TouchID
  • 6. Codificación para el uso del TouchID
  • 7. Codificación para el uso del TouchID
  • 8. Prueba del TouchID con el Simulador
  • 9. 2.- Uso de AvFoundation para acceso a la cámara.
  • 10. 1.- Liberamos espacio en la parte superior, ya que ahí se mostrará la salida de la cámara. 2.- Agregamos un botón que permitirá capturar la imagen de la cámara en iOS. 3.- Agregamos un Image View donde se mostrará la imagen capturada. Creamos una app para iOS que tenga lo siguiente:
  • 11. Código Xamarin.iOS – Uso de la cámara string archivoLocal; AVCaptureDevice dispositivodeCaptura; AVCaptureSession sesiondeCaptura; AVCaptureDeviceInput entradaDispositivo; AVCaptureStillImageOutput salidaImagen; AVCaptureVideoPreviewLayer preview; string ruta; byte[] arregloJpg; async Task autorizacionCamara() { var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video); if (estatus != AVAuthorizationStatus.Authorized) { await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video); } } using System; using UIKit; using System.Drawing; using System.Threading.Tasks; using AVFoundation; using Foundation; using System.IO;
  • 12. Código Xamarin.iOS – Uso de la cámara string archivoLocal; AVCaptureDevice dispositivodeCaptura; AVCaptureSession sesiondeCaptura; AVCaptureDeviceInput entradaDispositivo; AVCaptureStillImageOutput salidaImagen; AVCaptureVideoPreviewLayer preview; string ruta; byte[] arregloJpg; async Task autorizacionCamara() { var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video); if (estatus != AVAuthorizationStatus.Authorized) { await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video); } } using System; using UIKit; using System.Drawing; using System.Threading.Tasks; using AVFoundation; using Foundation; using System.IO;
  • 13. Código Xamarin.iOS – Uso de la cámara string archivoLocal; AVCaptureDevice dispositivodeCaptura; AVCaptureSession sesiondeCaptura; AVCaptureDeviceInput entradaDispositivo; AVCaptureStillImageOutput salidaImagen; AVCaptureVideoPreviewLayer preview; string ruta; byte[] arregloJpg; async Task autorizacionCamara() { var estatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video); if (estatus != AVAuthorizationStatus.Authorized) { await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video); } } using System; using UIKit; using System.Drawing; using System.Threading.Tasks; using AVFoundation; using Foundation; using System.IO;
  • 14. public void ConfiguracionCamara() { sesiondeCaptura = new AVCaptureSession(); preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura) { Frame = new RectangleF(40, 50, 300, 350) }; View.Layer.AddSublayer(preview); dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video); entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura); sesiondeCaptura.AddInput(entradaDispositivo); salidaImagen = new AVCaptureStillImageOutput() { OutputSettings = new NSDictionary() }; sesiondeCaptura.AddOutput(salidaImagen); sesiondeCaptura.StartRunning(); } Código Xamarin.iOS – Uso de la cámara
  • 15. public void ConfiguracionCamara() { sesiondeCaptura = new AVCaptureSession(); preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura) { Frame = new RectangleF(40, 50, 300, 350) }; View.Layer.AddSublayer(preview); dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video); entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura); sesiondeCaptura.AddInput(entradaDispositivo); salidaImagen = new AVCaptureStillImageOutput() { OutputSettings = new NSDictionary() }; sesiondeCaptura.AddOutput(salidaImagen); sesiondeCaptura.StartRunning(); } Código Xamarin.iOS – Uso de la cámara
  • 16. public void ConfiguracionCamara() { sesiondeCaptura = new AVCaptureSession(); preview = new AVCaptureVideoPreviewLayer(sesiondeCaptura) { Frame = new RectangleF(40, 50, 300, 350) }; View.Layer.AddSublayer(preview); dispositivodeCaptura = AVCaptureDevice.DefaultDeviceWithMediaType(AVMediaType.Video); entradaDispositivo = AVCaptureDeviceInput.FromDevice(dispositivodeCaptura); sesiondeCaptura.AddInput(entradaDispositivo); salidaImagen = new AVCaptureStillImageOutput() { OutputSettings = new NSDictionary() }; sesiondeCaptura.AddOutput(salidaImagen); sesiondeCaptura.StartRunning(); } Código Xamarin.iOS – Uso de la cámara
  • 17. Código Xamarin.iOS – Uso de la cámara btnCapturar.TouchUpInside += async delegate { var salidadevideo = salidaImagen.ConnectionFromMediaType(AVMediaType.Video); var bufferdevideo = await salidaImagen.CaptureStillImageTaskAsync(salidadevideo); var datosImagen = AVCaptureStillImageOutput.JpegStillToNSData(bufferdevideo); arregloJpg = datosImagen.ToArray(); string rutacarpeta = Environment.GetFolderPath (Environment.SpecialFolder.Personal); string resultado = "Foto"; archivoLocal = resultado + ".jpg"; ruta = Path.Combine(rutacarpeta, archivoLocal); File.WriteAllBytes(ruta, arregloJpg); Imagen.Image = UIImage.FromFile(ruta); };
  • 18. Código Xamarin.iOS – Uso de la cámara btnCapturar.TouchUpInside += async delegate { var salidadevideo = salidaImagen.ConnectionFromMediaType(AVMediaType.Video); var bufferdevideo = await salidaImagen.CaptureStillImageTaskAsync(salidadevideo); var datosImagen = AVCaptureStillImageOutput.JpegStillToNSData(bufferdevideo); arregloJpg = datosImagen.ToArray(); string rutacarpeta = Environment.GetFolderPath (Environment.SpecialFolder.Personal); string resultado = "Foto"; archivoLocal = resultado + ".jpg"; ruta = Path.Combine(rutacarpeta, archivoLocal); File.WriteAllBytes(ruta, arregloJpg); Imagen.Image = UIImage.FromFile(ruta); };
  • 19. 3.- Manipular la Imagen mediante controles de la cámara
  • 20. Codificación para el uso del controles de la cámara
  • 21. Codificación para el uso del controles de la cámara
  • 22. Codificación para el uso del controles de la cámara
  • 23. Codificación para el uso del controles de la cámara
  • 24. Codificación para el uso del controles de la cámara
  • 25. Codificación para el uso del controles de la cámara
  • 26. Codificación para el uso del controles de la cámara
  • 27. Codificación para el uso del controles de la cámara
  • 28. 4.- Ubicación y asignación de coordenadas en el Mapa
  • 29. 1.- Liberamos espacio en la parte superior, ya que ahí se mostrará la salida de la cámara. 2.- Agregamos 3 sliders que permitirán manipular la imagen de la cámara en iOS. 3.- Agregamos un control de tipo Mapa. 4.- Agregamos el botón de Capturar. 5.- Agregamos un Image View donde se mostrará la imagen capturada. Creamos una app para iOS que tenga la siguiente estructura:
  • 30. Agregamos las librerías de CoreLocation, MapKit, Plugin.Geolocator y LocalAuthentication. Agregamos las variables de latitud y longitud, además del CLLocationManager.
  • 31. Codificación para el uso del Mapa
  • 32. Codificación para el uso del Mapa
  • 33. Codificación para el uso del Mapa
  • 34. Codificación para el uso del Mapa
  • 35. Demo Xamarin iOS (Controles de la Cámara, Mapas, Ubicación y TouchID) Aplicación con Xamarin que edita la salida de la cámara, obtiene la ubicación, se agrega a un Mapa, accede a la aplicación vía el TouchID.
  • 36.
  • 37.
  • 38. Enrique Aguilar Vargas @enriqueaguilar Códigos disponibles en: github.com/enriqueaguilarvargas Funcionalidad de la Cámara, TouchID y Mapas en Xamarin iOS
  • 39. © 2016 Microsoft Corporation. All rights reserved. The text in this document is available under the Creative Commons Attribution 3.0 License, additional terms may apply. All other content contained in this document (including, without limitation, trademarks, logos, images, etc.) are not included within the Creative Commons license grant. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples are for illustration only and are fictitious. No real association is intended or inferred. Microsoft makes no warranties, express or implied, with respect to the information provided here.