JHL蓝牙SDK 报错+解决过程-1

来源:互联网 发布:邮箱直接注册淘宝号 编辑:程序博客网 时间:2024/06/05 17:51

报连接错误 arm arc 等等的,确实让人头痛

按照步骤,添加进SDK之后,发现Bitcode首先得设置为NO,此为第一个坑,问题解决,难度不大

先来看看报错截图

这里写图片描述

总共六个报错

(如下等等:)
Undefined symbols for architecture arm64:
objc-class-ref in libJhlblueController.a(ISControlManager.o)
objc-class-ref in libJhlblueController.a(ISMFiDataPath.o)

**前两个大概是说 jhl的两个库 运行64位手机上出错 , 联系jhl人员发现,他们的sdk是支持
armv7,arm64,armv7s的,所以问题还要再找.**

再仔细看看

这里写图片描述
**发现问题 项目里的QuickPos.a 又出来捣什么乱?
是不是这个文件不支持arm64? 虽然警告⚠️信息也标了,还是走终端看看
打开终端
键入 **

lipo -info + 地址

这里写图片描述

果然不支持arm64 没法,只能删除arm64

这里写图片描述

clean一下再次编译

这里写图片描述

很好,现在看上去没那么多错误了,

**想想一般报连接错误也就那么几种情况,
1.要么SDK出现了重复调用同一个方法,或者出现重名等
2.在声明头文件的时候,把.h弄成了.m (本例这个情况不存在,因为只有.h .a 文件)
3.配置文件里,找不到正确的路径,
其中,
第一个可能性在我尝试了用新工程同样报错之后,排除,
第二个可能性也被排除**

**那么,第三个可能性就是文件路径
在Bulid Setting ==> Linking中
Other Linker Flags
我们设置全部加载 -all_load**
这里写图片描述
然后在Clean 编译一下
这里写图片描述
真是日了狗! 好在现在就剩下一个报错,还是连接类库的问题,

可以使用指定路径再次尝试

这里写图片描述

再次Clean 编译

这里写图片描述

编译成功

最后,由于是蓝牙设备
还需要在工程的info.plist文件里 添加app后台工作模式,具体这个连接里面有添加的设置
至此,jhlSDK的接入算是完成了,问题一步步的解决,看着挺顺利的,但其实这中间我也不断的Google,不断的尝试,最后才把我大致的解决过程给大家罗列了出来,希望对大家有些帮助

0 0
原创粉丝点击