iOS 百度文字识别(图片、证件识别)相机界面导航栏无法隐藏问题解决(AipCaptureCardVC 导航栏问题)

项目中用到了百度的文字识别,在集成过程中遇到一些问题记录一下

一、拍照界面出现灰色导航栏的原因

在集成之前我新建了工程做集成测试,集成完成之后没有任何问题。但是在项目工程里集成,跳转拍照界面后出现灰色导航栏问题。刚开始试着在跳转完成之后隐藏导航栏,但是都没起作用。社区查了之后有人说删掉项目中的UINavigationController+FDFullscreenPopGesture.h文件,(我自己没有试,因为项目中用FDFullscreenPopGesture,如果现在改动对项目影响很大),出现拍照界面灰色导航栏的原因应该是FDFullscreenPopGesture与集成库有冲突。

二、解决方案

解决方案一

如果可以的话,就将FDFullscreenPopGesture从工程中移除,应该能解决(没有实际操作)。

解决方案二

使用AOP解决,这个可以参考https://www.jianshu.com/p/8a222ec96a50

解决方案三

我项目就是用的这种解决方案,操作比较繁琐,但问题解决了,结果是好的。

1.下载官方SDK

从百度AI发放平台下载SDK(注册,应用创建就不多说了,文档写的很明确)SDK下载

image.png

2.开始集成(不要用文档里的方法集成了,集成过的把文件和Frameworks移除)

1.下载的SKD文件中有AipOcrDemo、AipOcrSdk、lib几个文件


image.png

2.将AipOcrSdk复制放入你工程文件夹(注意和主工程同级)


image.png

3.打开你的工程
image.png

File ->Add Files to "你的工程名",选择刚刚复制过来的文件AipOcrSdk文件中的AipOcrSdk.xcodeproj添加,如图


image.png

添加之后效果如图
image.png

4.将下载的SKD文件中lib文件夹下的几个文件AipBase.framework和IdcardQuality.framework拖到工程刚添加的AipOcrSdk下,重新配置AipOcrSdk的framework
image.png

5.之后重新配置你工程下的framework,其中AipOcrSdk.framework可以直接添加
image.png

image.png

IdcardQuality.framework和AipBase.framework从Add Other选择添加


image.png

image.png

添加之后运行工程,工程正常,下面开始修改拍照界面出现的灰色导航栏,找到你跳转相机界面的代码,直接跳转到AipGeneralVC的.m中去,在.m中隐藏导航栏,到这一步,灰色导航栏的问题就解决了。

打包出现的问题

导入百度SDK后你打包Archive会报错,官方文档中也说了“我们使用lipo工具合并了模拟器和真机的架构。所以在上传前AppStore前,必须使用lipo移除模拟器的架构,否则会报错:”

image.png

终端cd到AipBase.framework,执行下面命令(参考:https://www.jianshu.com/p/25de99572bc6)

LK-Macmini:Xcode linknetwork$ cd /Users/linknetwork/Desktop/PortOfTrade/ThirdDeploy/BaiduOCR/AipBase.framework
LK-Macmini:AipBase.framework linknetwork$ pwd
/Users/linknetwork/Desktop/PortOfTrade/ThirdDeploy/BaiduOCR/AipBase.framework
LK-Macmini:AipBase.framework linknetwork$ ls
AipBase     Headers     Info.plist  Modules
LK-Macmini:AipBase.framework linknetwork$ lipo -info AipBase 
Architectures in the fat file: AipBase are: i386 x86_64 armv7 arm64 
LK-Macmini:AipBase.framework linknetwork$ lipo -remove i386 AipBase -o AipBase
LK-Macmini:AipBase.framework linknetwork$ lipo -remove x86_64 AipBase -o AipBase
LK-Macmini:AipBase.framework linknetwork$ lipo -info AipBase
Architectures in the fat file: AipBase are: armv7 arm64 

参考文章:
https://www.jianshu.com/p/376536a4d2fb
https://www.jianshu.com/p/25de99572bc6
https://www.jianshu.com/p/8a222ec96a50

你可能感兴趣的:(iOS 百度文字识别(图片、证件识别)相机界面导航栏无法隐藏问题解决(AipCaptureCardVC 导航栏问题))