接入SDK的时候,多多少少遇到过不少问题,这里记录一下,可能有些地方遗漏或者忘记了具体的操作了。
一、SDK报错
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Wan11InterfaceKit", referenced from:
objc-class-ref in ViewController.o
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)
原因:_Wan11InterfaceKit在x86环境下没有相应的接口,就是说这是一个SDK,而且还是真机版本的sdk,没有模拟器的。所以报错。
解决办法:用真机运行,或者出一个模拟器的sdk。
二、SDK库的使用问题
导致这种错误的原因有比较多,但是常见的一种,是JHSDK并没有真正添加到工程,或是
Target Membership没有被引进来
又或是:
库的路径不对
又或是:
这里静态库、动态库不对应
比如说JHSDK本来是静态库的,但Embed你选成动态库。JHSDK是动态库的,Embed你选成静态库
三、SDK库重复引用
常规的重复应用比较好解决,但是这个有点奇葩,一般也不容易范,这里记录一下
信息:
ld: 319 duplicate symbols for architecture arm64
分析:一般来说报:duplicate symbols 都是重复引用的问题。
但是详细看报错后,并没有找到2个重复引用的文件。而看到的是一个.a的库文件里面的文件
解决办法:
注意:这里是删除了_all_load ,但有时要删除-ObjC
四、接入海外SDK报错- facebook SDK
4.1、报错:
原因:
https://www.nextscripts.com/news/2018/04/facebook-error-invalid-scopes-publish_actions/
解决:
4.2、
FB在ios13系统下登录的时候,立即提示用户取消登录
这种情况是FbSDK 官方更新了SDK,有些api被废弃了。
解决办法,后来,直接换成都是弹出网页