之前的项目即时通讯用的网易云通讯(3.8.0),在测试时发现在iOS11.0上UI适配出现了问题,所以需要重新集成NIMSDK(4.3.0)。以下记录过程中遇到的问题。
第一个坑
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_NTESSDKConfigDelegate", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方式:这个原因一般是第三方库引入有问题,经测试,发现是第三方库直接拖入,但是文件没有及时更新到项目中。需要我们首先:移除引用
然后重新添加。
第二个坑
文件路径报错,找不到。
ijksdl/gles2/internal.h’ file not found
解决方式:
添加文件的路径
"$(SRCROOT)/NIMKitDemo/Classes/Sections/Session/ViewController/VideoChat/View"
第三个坑
支付宝sdk冲突
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_CMMotionManager", referenced from:
objc-class-ref in AlipaySDK
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方式:支付宝sdk需要添加 CoreMotion.framework 系统库