If you want to recognize text in real-time, iOS provides frameworks like Vision and VisionKit.
Depending on the iOS version, there are several implementation methods:
iOS 16 and above
VNDocumentCameraViewController
โ Custom UI is difficult to implement due to its limitations.DataScannerViewController
โ Offers various options with LiveText (e.g., phone numbers, emails, URLs, etc.).iOS 16 and below
AVFoundation
+ Vision
โ Combines image capture and video processing from AVFoundation with text recognition using Vision.After implementing these methods, I found that LiveText is advantageous for its ability to highlight recognized text and for its simplicity. On the other hand, the AVFoundation + Vision approach is faster and compatible with lower OS versions.
increment_build_number
lane requires resetting the package cache every time. I have yet to find a solution for this issue.git cherry-pick
is useful for applying specific commits, but it has a high risk of conflicts. Thus, using it on the main
branch requires extra caution.