Better run-time checks for QRCode scanning

This commit is contained in:
Michael Starke
2021-01-04 19:40:08 +01:00
parent 90093850f9
commit 57c3d558f3

View File

@@ -13,7 +13,11 @@
- (NSString *)QRCodeString {
NSRect rect = NSMakeRect(0, 0, self.size.width, self.size.height);
NSBitmapImageRep *bitmapRep = (NSBitmapImageRep *)[self bestRepresentationForRect:rect context:nil hints:nil];
id imageRep = [self bestRepresentationForRect:rect context:nil hints:nil];
if([imageRep isKindOfClass:NSBitmapImageRep.class]) {
return @"";
}
NSBitmapImageRep *bitmapRep = (NSBitmapImageRep *)imageRep;
CIImage *ciImage = [[CIImage alloc] initWithBitmapImageRep:bitmapRep];
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:nil options:nil];
NSArray<CIFeature *> *features = [detector featuresInImage:ciImage];