苹果实时手机号识别示例无法高亮/识别文本问题排查
实时手机号识别红色边框不显示问题排查
我基于苹果官方实时读取手机号的示例代码开发,原示例会为识别到的文本添加红色边框,但复用代码后无法实现文本识别及边框高亮效果。唯一修改是将视图控制器类名从ViewController改为TextScanViewController,且已完成代码内类名替换,附上5个Swift文件代码,寻求遗漏的修改点,同时对比了正常效果与当前无框的实际效果。
可能遗漏的修改点排查:
- 界面文件关联检查:若使用Storyboard/XIB,确认Identity Inspector中视图控制器的类已改为
TextScanViewController,所有IBOutlet(如预览视图、边框容器)均无断连,且Storyboard ID也同步更新为对应名称。 - 相机权限配置:检查
Info.plist是否添加NSCameraUsageDescription字段并填写合理描述,相机权限未授权会导致无法采集画面,直接阻断文本识别流程。 - 识别流程启动逻辑:确认
TextScanViewController的生命周期方法(如viewDidLoad/viewWillAppear)中,已正确初始化AVCaptureSession、VNSequenceRequestHandler并启动识别请求,未遗漏原示例中的启动代码。 - 边框绘制上下文校验:检查红色边框绘制代码中,是否正确引用
TextScanViewController内的预览图层bounds、容器视图等属性,未残留对原ViewController属性的引用。 - 协议与委托绑定:确保
TextScanViewController已正确遵循AVCaptureVideoDataOutputSampleBufferDelegate等必要协议,且相机输出的委托对象已设置为当前控制器实例,未保留原类的委托绑定。 - 全局类名残留检查:在所有Swift文件中全局搜索
ViewController字符串,确认所有涉及类名的场景(如控制器实例化标识符、通知回调、类方法调用)均已替换为TextScanViewController。
内容的提问来源于stack exchange,提问作者Summer
相关产品推荐
相关产品推荐

