报错一:No Account for Team "xxx"
解决方案这里不做多解答,很简单,修改证书,Bundle Identified 随便修改个,可以跑真机即可!!!
报错二:iOS_YOLOv5NCNN/YOLOv5NCNN/res/yolov5s_customlayer.param: No such file or directory
这个作者有做说明:从 "android_YOLOV5_NCNN\app\src\main\assets" 复制 .param 和 .bin 文件到 "iOS_YOLOv5NCNN\YOLOv5NCNN\res" 下!
这里需要注意的点:将"android_YOLOV5_NCNN\app\src\main\assets"目录下的所有文件都拷贝过去,包括里面有个二级目录“ocr/”,也需要拷过去!重复文件直接跳过或者替换即可!!!
报错三:'opencv2/dnn.hpp' file not found
很明显这里是红色的,说明Demo里面没有该资源,下载最新的opencv2和NCNN,替换这几个库!!!
Tencent/ncnn下载路径 - 去Assets下对应的资源!!!
替换后的结果:
这里需要注意的点:glslang.framework 这个文件最新的ncnn里已经没有,所以项目里需要去掉,如果不去掉会有报错,此处直接一起做答!!!
报错四:'ncnn/ncnn/net.h' file not found
该报错原作者的解决方案是去下载老的NCNN,这就没办法使用最新的代码库,先看作者提供的解决方案:
这里不做过多讨论!!!
合适的解决方案:
将#include "ncnn/ncnn/net.h" 替换成 #import "ncnn.framework/Versions/A/Headers/ncnn/net.h" 和 #import <ncnn/ncnn/net.h> 这种两种方式,去查看本地文件可以看到:
该文件还在,只不过是路径变了,调整一下引用方式即可!!!
如果报错没有立马消失,进行 clean 一下!!!
报错五: blenders > Expected identifier , exposure_compensate > Expected identifier
看描述:warning Detected Apple ‘NO’ macro definition, it can cause build conflicts. Please, include this header before any Apple headers.
字面意思是让我们在引用这个头文件的时候应该放在所有Apple头文件之前 !!!
生产一个.pch文件:
注意配置路径!!!
然后输入代码:
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#import <opencv2/imgproc/types_c.h>
#import <opencv2/core.hpp>
#import <opencv2/features2d.hpp>
#import <opencv2/calib3d.hpp>
#import <opencv2/objdetect.hpp>
#import <opencv2/highgui.hpp>
#import <opencv2/imgproc.hpp>
#import <opencv2/objdetect/objdetect.hpp>
#endif
大功告成!!!