MLKitBarcodeScanning 架構參考資料

條碼

class Barcode : NSObject

圖片中的條碼。

  • 在檢視座標系統中,相對於偵測到的圖片,所包含已偵測到的條碼的矩形。

    聲明

    Swift

    var frame: CGRect { get }
  • 條碼中的編碼值。系統不會剖析結構化值,例如:MEBKM:TITLE:Google;URL:https://www.google.com;;。不包含輔助值。

    只有在條碼以 UTF-8 格式編碼時才能使用,如果是使用非 UTF-8 的條碼,請改用 rawData

    聲明

    Swift

    var rawValue: String? { get }
  • 儲存在條碼中的原始資料。

    聲明

    Swift

    var rawData: Data? { get }
  • 以使用者友好格式呈現的條碼值。可能會省略條碼中編碼的部分資訊。舉例來說,在上例中,顯示值可能是「https://www.google.com」。如果是 valueType == .text,這個欄位會等於 rawValue。這個值可能會是多行,例如當換行符號編碼至原始 TEXT 條碼值時。可包含補充值。

    聲明

    Swift

    var displayValue: String? { get }
  • 條碼格式,例如 EAN_13。請注意,如果格式不在清單中,系統會傳回 .unknown

    聲明

    Swift

    var format: BarcodeFormat { get }
  • 條碼的四個角落點,以順時針方向的順序排列,從檢視座標系統中偵測到的圖像左上角開始。這些是 CGPoints 包裝在 NSValues 中。由於可能會發生透視扭曲,因此不一定是矩形。

    聲明

    Swift

    var cornerPoints: [NSValue]? { get }
  • 條碼值的類型。例如 TEXT、PRODUCT、URL 等。請注意,如果類型不在清單中,系統會傳回 .unknown

    聲明

    Swift

    var valueType: BarcodeValueType { get }
  • 來自 MAILTO: 或類似 QR Code 類型的電子郵件。只有在 valueType.email 時,才會設定這個屬性。

    聲明

    Swift

    var email: BarcodeEmail? { get }
  • 透過「TEL:」或類似 QR Code 類型取得的電話號碼。只有在 valueType.phone 時,才會設定這項屬性。

    聲明

    Swift

    var phone: BarcodePhone? { get }
  • sms

    來自「SMS:」或類似 QR code 類型的簡訊。只有在 valueType.sms 時,才會設定這項屬性。

    聲明

    Swift

    var sms: BarcodeSMS? { get }
  • url

    來自「MEBKM:」或類似 QR code 類型的網址和標題。只有在 valueType.url 時,才會設定這項屬性。

    聲明

    Swift

    var url: BarcodeURLBookmark? { get }
  • 來自「WIFI:」或類似 QR code 類型的 Wi-Fi 網路參數。只有在 valueType.wifi 時,才會設定這個屬性。

    聲明

    Swift

    var wifi: BarcodeWifi? { get }
  • 來自 GEO: 或類似 QR code 類型的 GPS 座標。只有在 valueType.geo 時,才會設定這項屬性。

    聲明

    Swift

    var geoPoint: BarcodeGeoPoint? { get }
  • 個人或機構的名片。例如 VCARD。只有在 valueType.contactInfo 時,才會設定這個屬性。

    聲明

    Swift

    var contactInfo: BarcodeContactInfo? { get }
  • 從 QR Code 擷取的日曆活動。只有在 valueType.calendarEvent 時,才會設定這項屬性。

    聲明

    Swift

    var calendarEvent: BarcodeCalendarEvent? { get }
  • 駕照或身分證。只有在 valueType.driverLicense 時,才會設定這項屬性。

    聲明

    Swift

    var driverLicense: BarcodeDriverLicense? { get }
  • 無法使用。