对最近项目的一个总结,一条大路通坦途

21.jpg

前期经过一个半月的时间开发基本功能,项目完成提交测试。后期经过20填的天的时间,对接极光推送、微信、支付宝支付(申请各种账号,申请支付权限审核)。零零散散两个多月时间,项目昨天终于提交 AppStore 了。到此时就项目开发中遇到的一些问题做一个总结。

首先是项目框架的基本搭建,因为是独立开发,所以项目框架也没有选择特别难的东西,就是封装了一些常用的工具( af 的二次封装,sd 的图片处理, category, swizzling等)。因为做项目的时候正在看 RAC,项目中使用了 RAC + MVVM 的设计模式。因为第一次使用 RAC 开发,所以前期趟了不少坑,好在现在各种文档和 Demo 都很多,所以看了很多文档和代码总算是初步会用了。到项目后期的时候发现 RAC 的很多东西都没有物尽其用,还得加强学习啊。

其次就是项目的开发过程总遇到的一些问题了。第一个就是商城页面,想要模仿某宝和某东的首页,里面 UIScrollView 、 UITableView 、 UICollectionView 嵌套了很多层,继而引发的就是手势的冲突问题,由于页面的复杂度很高,着实走了不少的弯路,也写了不少的补丁代码,越写就越觉得难受,后来查资料在 github 上发现了一个很好的 Demo, 对照着大神的代码改了一下,发现代码看着舒服多了,而且项目运行也更流畅了。第二个是购物车,因为之前没有写购物车的经验,在动手之前搜索了很多设计思想之类的文档来看,有研究了别人的实现逻辑才敢下手写。在这时候才体会到了 RAC 的厉害之处,只要把各种对象属性都绑定好了,随便怎么购物车怎么操作,加减商品数据都会随之改变。想想如果搁以前来实现购物车,代码肯定超500行了吧。

写完这些比较复杂的页面和功能逻辑,其他的就是一些简单的页面,不一一赘述。当时由于项目比较着急,所以开发完这些基本功能以后就交付测试了。然后自己开始搞推送和支付。极光推送,不用多说文档和 Demo 都很详细。再就是支付了,由于之前只对接过一些三方的支付,还都是用直接用银行卡的。所以微信和支付宝支付是大姑娘上轿头一回。最先开始就是申请各种账号了,微信公众平台,微信支付平台,微信开放平台,支付宝开放平台。账号申请完还不算,还得关联 AppID ,开通支付授权功能,又是一通弄。最后准备工作终于搞完。最后就是实际开发了。微信和支付宝的文档都是很详细的,直接到官网上查阅即可。按照文档把 SDK 集成到项目(因为用的是 cocoaPods 所以省了很多事儿)。剩下的就是跟后台联调了。先是支付宝,记得好像是有个支付宝公钥当时弄错了,弄了一下午,最后在支付宝在线技术支持下终于能支付了。隔天继续微信支付,微信支付本以为会很通畅,但是由于账号申请人(公司财务,不要问我为什么是财务,我也不知道为什么这个东西要财务去弄,鬼知道?)没有把微信安全认证里面的 API 私钥设置上(我当时一步一步告诉她怎么弄的,她也把私钥发给我了)我跟后台又是排查问题又是查资料,还跟财务确认那个私钥设置好了没有,她还信誓旦旦的跟我说设置好了。后来跟领导申请把账号要了过来,发现她根本没有设置上(mmp)。本来15分钟就能搞定的事情,我们搞了一下午。哎,看来以后不能靠别人,自己动手丰衣足食啊。

都弄好了,测试完可以上线了吧。NO! 前几天正好赶上 iOS 13 系统发布,就赶紧把手机系统升级了,设置了深色模式,然后运行一下项目,我Q,什么鬼。tabbar 的显示, navbar item 的显示,还有 present 出来的 vc, 各种问题。无奈只能跟领导申请推迟上线。又好一通改啊。弄了一天多。然后就开始弄填写弄上线的准备工作,填写各种信息终于搞上去了。哎。。。

总结
这个项目做下来,应用了自己不熟悉的技术(RAC),接触了不熟悉的逻辑(商城、购物车、微信/支付宝支付),但是通过摸索各个功能也都实现了。项目做完,自己收获也挺多,还算是有一点小小的成就感吧。

你可能感兴趣的:(对最近项目的一个总结,一条大路通坦途)