公司项目要求接入阿里百川的电商SDK,于是就去了解阿里百川开放平台进行集成。大家都知道阿里百川SDK巨坑, 下面就让大家看看有多坑!
1.版本的坑
V3版本 - 很多老开发者都知道, 前几年对接的阿里百出SDK一般都是V3版本, 那文档相当不详细同时不支持cocoaPods, 只能手动导入依赖库(.tbd、framework、配置info.plist)样样不能少, 真的是非常容易出错, 还和自家的支付宝SDK的UTDID文件冲突。由于V3版本已经废弃, 官方连文档都删掉了, 就不再细说了(虽然V3版本还能凑合用)
V4版本 - 此版本好歹支持cocoaPods了。但是这个版本没多久又推出了v5版本, 很多人SDK集成了v4版本, 但是在开放平台生成了v5版本,导致安全图片版本不一样出现(身份图片AppKey失败)报错。
V5版本 - 支持cocoaPods, 文档相对比较详细(只有一处坑,下面有说明)
2.文档的坑
1.第一步先要在终端用引入阿里百川源
2.第二步文档直接让导入库了
此处出现一个坑, 相比v4的文档v5文档缺少源路径这一步, 所以cocoaPods下载库的时候可能会报错
在Podfile文件上面加上数据源路径即可
'source' 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git'
此处还有一个史上超级巨坑, 文档写的'securityGuard','5.5.50' 版本仅支持V6安全图
我掉进这个坑里一天, 一直都报错(读取身份图片AppKey失败), 最终在demo找到解决方法, 把securityGuard库降低版本(pod 'securityGuard', '5.4.191')以适配v5安全图片
3.导入库的坑, SDK使用了FMDB但是文档有没引入, 导致项目报错Undefined symbol: OBJC_CLASS_FMDatabase
解决方法, 引入FMDB
4.添加资源的坑
1.在阿里百川下载安全图片, 命名默认是yw_1222, 而真正文档又宣称图片名字必须是yw_1222_baichuan.jpg (官方就不能把下载的图片名称改一下???)
2.需要自己生成mtopsdk_configuration.plist文件,这个文件所有人都一样的配置。 既然大家都一样又何必配置这个文件呢? 或者官方自己放到SDK里面不行? 没搞明白。
为了给大家提供方便, 我提供这个文件给大家下载, 偷懒的童鞋可以直接拖到项目使用点击下载mtopsdk_configuration.plist文件
5.配置URL Types的坑
文档是这样写的, 没有写上Bundle ldentifier
实际是需要在ldentifier输入框加上自己应用的Bundle ldentifier,否则和淘宝app之间切换可能跳不回来你的APP
好了, 解决上面这些坑, 相信大家都能顺利集成阿里宝川SDK了。