1. 项目大致说明:
1.1今天接到通知,说之前的项目要上线,看svn 上传记录是2015年的。checkout 以后发现是6年前的项目。坑的是:.a 文件全部缺了(淡灰色)。猜测是svn 提交的时候忘记了 提交 .a 文件,由于时间太久了,找不到当时的开发,只能硬着头皮去升级了。如图:
image初步分析,应该是缺少了:1.激光推送,2.微信分享 3.友盟分享,统计,用户反馈相关的库吧
1.2.解决办法,如果能在官网,下载在对应的库,就去下载一下,补充一下.a 文件。如果官网不提供下载,没办法只能去自己集成最新的了。
1.3 项目本身采用的是手动集成的工具,升级起来比较麻烦,为了避免后面人遇到类似的问题,我们采取pod 工具集成。
2添加pod 集成工具
2.1 在项目FzbxApp.xcodeproj 文件同级目录创建一个文件:Podfile
image2.2在Podfile 文件中写入
platform :ios, '8.0'
#use_frameworks!个别需要用到它,比如reactiveCocoa
def pods
# pod 'JPush', '3.2.6'
end
target 'FzbxApp' do
pods
end
2.3 用命令打开到 Podfile 所在目录,执行 pod install 会生成对应的文件
image2 升级JPush
1.去JPush 官网查看了一下,没有提供历史库的下载地址,不能不说一句坑
image2.在终端输入:pod search JPush 查看JPUsh在git 升级历史,发现是有1.8.3 的。还算好,那我们不升级最新的SDK,直接用1.8.3 试一试
image3.在pod 文件中 加入JPush 1.8.3,执行pod install
image4. 删除手动集成的1.8.3 的库
image运行以后貌似没有报错,还好
3 升级友盟
3.1友盟最新框架的说明
去官网看了一下,移动统计的SDK,最新的是V7.2.5 ,而且7.2.4 以下就不再提供集成方案了。支持最早是V5.5.0,没办法只能集成最新的友盟库了,已经找不到4.2.1(2018年3月13日)的库文件。表示很无赖。
分享的SDK 也是类似的。
当前日期2021年2月18日
image image imageimage
3.2.友盟分享修改前大致情况
升级以前的情况
image3 .3集成友盟- 微信分享和支付
https://developer.umeng.com/docs/128606/detail/193653
3.3.1友盟首先需要集成基础组件
imagepod 上搜索了一下,UMCommon最新版本为7.2.5
image image
一般我是喜欢在三方库后面加上版本号,方便后来人吧。毕竟被别人坑过,滋味不好受。还是不要坑别人了吧。
image然后执行:pod install 。基础组件已经集成OK,如图
image3.3.2 友盟集成微信分享和支付
集成分享的基础UI(项目跑不起来,所以不知道到底是不是需要,安装为上策) 和 微信分享(完整版的)
image我猜想 的是:UM 微信包安装完成以后发现有两个包:一个精简版的:只有微信分享功能的。一个是支付功能的。也就是友盟现在集成微信包含了微信的支付和分享。如下图:
image那我们可以把项目原来的微信分享和支付文件都删掉了。不用我们分别集成微信分享和支付了。把如下的微信WeChatSDK_1.4.1相关的文件夹全部删除即可。 真的是这样吗?
千万别着急删除。
千万别着急删除。
千万别着急删除。
我们还是来看一下项目没有改动时候的UM集成文件
image所以,事情并不是我们猜想的的那样。友盟集成的完整版的微信SDK 也是不带支付宝功能。没办法啊,只能再去查友盟文档
https://developer.umeng.com/docs/128606/detail/129467?spm=a311a.7996332.0.0.74793080KI4xRu
image这是太坑了吗?先用用pod 集成微信分享,大致意思,然后到微信官网去下载对应个微信SDK去替换微信.a 和相关文件。那我还用什么pod啊?
我个人觉得,如果微信分享和支付相关的,还是不使用友盟了吧,直接集成微信的官方SDK
说干就干,删除友盟的微信分享
3.3.3删除友盟的微信分享
image执行
pod update
3.4 直接集成微信分享和微信支付
3.4.1 导入最新的SDK 为1.8.7.1(包含支付功能的)
image3.4.2 写入注册程序的id
image3.4.3 要在程序 的info.plist 文件中 加入weixin 和 weixinULAPI
image3.4.4 要在程序中ohter flag 中加入:-ObjC 和 -all_load
image3.4.5 最新的微信分享是需要UniverLink 通用链接。详细步骤就不说了,大家可以看我的另一篇文章:
https://www.jianshu.com/p/8275c7d8ca63(iOS开发微信登录的通用链接Univerasl Link的配置)
网友评论