当使用 AVFoundation 检测图像中的特征(例如人脸或条形码)时,您必须调用如下一行:
AVCaptureMetadataOutput *metadataOutput = ...;
metadataOutput.metadataObjectTypes = metadataOutput.availableMetadataObjectTypes;
Run Code Online (Sandbox Code Playgroud)
检查 availableMetadataObjectTypes 显示以下字符串:
face,
"org.gs1.UPC-E",
"org.iso.Code39",
"org.iso.Code39Mod43",
"org.gs1.EAN-13",
"org.gs1.EAN-8",
"com.intermec.Code93",
"org.iso.Code128",
"org.iso.PDF417",
"org.iso.QRCode",
"org.iso.Aztec"
Run Code Online (Sandbox Code Playgroud)
如果我正在编写条形码扫描应用程序,我不希望框架寻找人脸,所以metadataOutput.availableMetadataObjectTypes我不想传递,而是传递特定的条形码来寻找。而不是使用这些硬编码的字符串,我希望它们在某处被定义为常量。
它们是否存在于框架中的任何地方,还是必须使用硬编码字符串?