para esta escanear encuentro donde cómo código cual como codigo ios qr-code

ios - esta - escanear codigo qr whatsapp iphone



¿Hay una manera de generar la imagen de código QR en iOS (9)

... lo que me permitirá generar enlaces ...

Primero, debe encontrar un servicio de enlace corto, por ejemplo, bit.ly o goo.by , para acortar el enlace largo y reducir así el tamaño del código QR.

Para realizar esta tarea automáticamente tendrá que utilizar algún servicio web.

... luego genera un código QR ...

ZXing es un generador de código QR popular de código abierto también disponible para iOS

¿Existe una forma estándar de generar un código QR y adjuntarlo a un elemento de correo desde la aplicación cliente de iOS (sin código de servidor)?


Código para generar imagen QR en Swift 2.0.

let reqStr = “string to convert as QR code” let data = reqStr.dataUsingEncoding(NSISOLatin1StringEncoding, allowLossyConversion: false) let filter = CIFilter(name: "CIQRCodeGenerator") filter!.setValue(data, forKey: "inputMessage") let qrImage:CIImage = filter!.outputImage! //qrImageView is a IBOutlet of UIImageView let scaleX = qrImageView.frame.size.width / qrImage.extent.size.width let scaleY = qrImageView.frame.size.height / qrImage.extent.size.height let resultQrImage = qrImage.imageByApplyingTransform(CGAffineTransformMakeScale(scaleX, scaleY)) qrImageView.image = UIImage(CIImage: resultQrImage)


Creé una categoría NSString para Obj-C, tomando la increíble respuesta de Mike Demidov

NString + GGQRCode.h

#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (GGQRCode) -(UIImage *)qrCodeImage:(CGFloat)width height:(CGFloat)height; -(UIImage *)qrCodeImage:(CGFloat)width height:(CGFloat)height scale:(CGFloat)scale orientation:(UIImageOrientation)orientation; @end

NString + GGQRCode.m

#import "NSString+GGQRCode.h" @implementation NSString (GGQRCode) -(UIImage *)qrCodeImage:(CGFloat)width height:(CGFloat)height { return [self qrCodeImage:width height:height scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]; } -(UIImage *)qrCodeImage:(CGFloat)width height:(CGFloat)height scale:(CGFloat)scale orientation:(UIImageOrientation)orientation { NSData *stringData = [self dataUsingEncoding: NSUTF8StringEncoding]; CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; [qrFilter setValue:stringData forKey:@"inputMessage"]; [qrFilter setValue:@"H" forKey:@"inputCorrectionLevel"]; CIImage *qrImage = qrFilter.outputImage; float scaleX = width / qrImage.extent.size.width; float scaleY = height / qrImage.extent.size.height; qrImage = [qrImage imageByApplyingTransform:CGAffineTransformMakeScale(scaleX, scaleY)]; return [UIImage imageWithCIImage:qrImage scale:scale orientation:orientation]; } @end


Desde iOS 7, puedes usar un filtro de Core Image para generar imágenes QR. Vea el último consejo aquí :

- (CIImage *)createQRForString:(NSString *)qrString { NSData *stringData = [qrString dataUsingEncoding: NSISOLatin1StringEncoding]; CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; [qrFilter setValue:stringData forKey:@"inputMessage"]; return qrFilter.outputImage; }


Ha pasado un tiempo desde que se hizo esta pregunta y ya se han dado varias respuestas casi perfectas. Sin embargo, tuve que modificar y combinar varias respuestas para que funcionara perfectamente para AppleTV 4K, iPhone X y iPadPro usando Xcode 9.2 en 2018. Aquí está el código, si alguien lo necesita.

@IBOutlet weak var qrCodeBox: UIImageView! func createQRFromString(_ str: String, size: CGSize) -> UIImage { let stringData = str.data(using: .utf8) let qrFilter = CIFilter(name: "CIQRCodeGenerator")! qrFilter.setValue(stringData, forKey: "inputMessage") qrFilter.setValue("H", forKey: "inputCorrectionLevel") let minimalQRimage = qrFilter.outputImage! // NOTE that a QR code is always square, so minimalQRimage..width === .height let minimalSideLength = minimalQRimage.extent.width let smallestOutputExtent = (size.width < size.height) ? size.width : size.height let scaleFactor = smallestOutputExtent / minimalSideLength let scaledImage = minimalQRimage.transformed( by: CGAffineTransform(scaleX: scaleFactor, y: scaleFactor)) return UIImage(ciImage: scaledImage, scale: UIScreen.main.scale, orientation: .up) } override func viewDidLoad() { super.viewDidLoad() let myQRimage = createQRFromString("https://www.apple.com", size: qrCodeBox.frame.size) qrCodeBox.image = myQRimage }


He utilizado el codificador de código QR para la generación QR. Es muy fácil de usar. Hay otras opciones para generar, por ejemplo, this .


Para la versión Obj-C que me funciona perfectamente, he mezclado las respuestas पवन y Teja Kumar Bethina:

NSString *qrString = @"My string to encode"; NSData *stringData = [qrString dataUsingEncoding: NSUTF8StringEncoding]; CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; [qrFilter setValue:stringData forKey:@"inputMessage"]; [qrFilter setValue:@"H" forKey:@"inputCorrectionLevel"]; CIImage *qrImage = qrFilter.outputImage; float scaleX = self.qrImageView.frame.size.width / qrImage.extent.size.width; float scaleY = self.qrImageView.frame.size.height / qrImage.extent.size.height; qrImage = [qrImage imageByApplyingTransform:CGAffineTransformMakeScale(scaleX, scaleY)]; self.qrImageView.image = [UIImage imageWithCIImage:qrImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];


Si no te importa usar una API pública, aquí hay un método fácil de 10 segundos. http://goqr.me/api

Simplemente complete el parámetro de datos y cargue la imagen de la respuesta. Aclamaciones.


Utilizando Swift 2

import UIKit import CoreImage func createQRFromString(str: String) -> CIImage? { let stringData = str.dataUsingEncoding(NSUTF8StringEncoding) let filter = CIFilter(name: "CIQRCodeGenerator") filter?.setValue(stringData, forKey: "inputMessage") filter?.setValue("H", forKey: "inputCorrectionLevel") return filter?.outputImage } if let img = createQRFromString("Hello world program created by someone") { let somImage = UIImage(CIImage: img, scale: 1.0, orientation: UIImageOrientation.Down) }

Swift 3.0

import UIKit import CoreImage func createQRFromString(_ str: String) -> CIImage? { let stringData = str.data(using: String.Encoding.utf8) let filter = CIFilter(name: "CIQRCodeGenerator") filter?.setValue(stringData, forKey: "inputMessage") filter?.setValue("H", forKey: "inputCorrectionLevel") if let img = createQRFromString("Hello world program created by someone") { let somImage = UIImage(ciImage: img, scale: 1.0, orientation: UIImageOrientation.down) } return filter?.outputImage } if let img = createQRFromString("Hello world program created by someone") { let somImage = UIImage(ciImage: img, scale: 1.0, orientation: UIImageOrientation.down) }