如何用SwiftUI快速创建iOS摄像头QR扫码应用

以前的iOS开发,UI用的是Storyboard。这几年苹果推出了SwiftUI,使用一套代码就可以同时支持iPhone和iPad,节约开发成本。由于很多的iOS SDK都是基于UIKit开发的,要集成到SwiftUI里需要包装下。这篇文章分享下如何使用Dynamsoft Camera EnhancerDynamsoft Barcode Reader在SwiftUI中快速实现摄像头QR扫码应用。

在M1 Mac上搭建开发环境

  • Xcode 13.2.1
  • Cocoapods
    1. 安装homebrew
       /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
      
    2. 如果是Intel CPU的mac,直接按照官方方法安装sudo gem install cocoapods。在M1上推荐通过brew安装。因为这样可以避免后续安装依赖库的很多问题:
       brew install cocoapods
      
  • Dynamsoft Camera Enhancer和Dynamsoft Barcode Reader
    1. 在工程共目录创建Podfile:
       pod init
      
    2. 打开Podfile添加依赖库:
      platform :ios, '9.0'
      
       target 'qrscanner' do
         use_frameworks!
              
         pod 'DynamsoftCameraEnhancer','2.1.1'
         pod 'DynamsoftBarcodeReader','8.9.1'
       end
      
    3. 安装依赖:
       pod install
      

注意:Barcode SDK需要申请一个有效的序列号才能使用:

let barcodeReader = DynamsoftBarcodeReader.init(license: "license-key")               

Xcode 13.2.1工程配置

  1. 打开工程文件:

    open qrscanner.xcworkspace
    
  2. 到工程的Signing & Capabilities选项里设置团队。

  3. 添加摄像头权限。在最新版本的Xcode里没有Info.plist文件。在设置里找到TARGETS > Info添加键值:

     Privacy - Camera Usage Description
    

    在这里插入图片描述

在SwiftUI中创建摄像头视频流窗口

  1. 创建一个叫qrscanner的iOS SwiftUI 工程。

  2. 创建一个CameraManager.swift文件。这是一个ObservableObject类,里面包含了通过Dynamsoft Camera Enhancer创建的camera view和用于接收视频帧的回调函数:

     import Foundation
     import UIKit
     import DynamsoftCameraEnhancer
        
     
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值