美胸汇APP_ios
2021-07-01 22:46:02   1  举报             
     
         
 AI智能生成
  项目架构
    作者其他创作
 大纲/内容
  原提议设计方案种类    
     脚本组件化构建者协助解决    
     预估完成耗时时间    
     如果更新库顺利的话..大概一天半即可.解决specs 索引库问题.既可彻底解决所有引发的问题
疏通整个脚本组件化管理的脉络..熟悉变更库的操作和命令原理.后续能够继续维护和开发;
不影响后续项目的进度和开发迭代;
优点: 高效 快捷 可以兼容任何开发水平代码风格 等开发
缺点: 对开发人员要求高 需要 cocopods 私有库组件化精通 脚本熟练操作ruby脚本语言
  
    疏通整个脚本组件化管理的脉络..熟悉变更库的操作和命令原理.后续能够继续维护和开发;
不影响后续项目的进度和开发迭代;
优点: 高效 快捷 可以兼容任何开发水平代码风格 等开发
缺点: 对开发人员要求高 需要 cocopods 私有库组件化精通 脚本熟练操作ruby脚本语言
 方案解决内容    
     1. 先解决cocopods 索引库 和本地库的路径版本 标签对比
2.解决每个组件库的第三方SDK正常更新和跌代 版本限制
3.解决每个组件 update 和 release 脚本命令操作正常运行
4.解决每个组件release 到主工程OK
5.删除本地组件关联--彻底解决主工程目录下的本地组件牵引路径关联,恢复正常release 代码提交
  
    2.解决每个组件库的第三方SDK正常更新和跌代 版本限制
3.解决每个组件 update 和 release 脚本命令操作正常运行
4.解决每个组件release 到主工程OK
5.删除本地组件关联--彻底解决主工程目录下的本地组件牵引路径关联,恢复正常release 代码提交
 项目复杂度    
     中等  
     解决方法    
     原脚本组件化iOS组长协助解决cocopods 索引库引起的第三方库 和 组件路径错误..导致的第三方库无法升级和正常运行 导致开发 打包的问题  
     项目干掉组件化全体工程合并组件.合并为常用MVC或者MVVM 架构模式项目    
     预估完成耗时时间    
     1.该方法需要 重新建立根项目: 仿照原来项目架构模式进行复制代码
2.比较难点就是 每个模块代码需要去看和验证 相当于50% 重构 和 验证功能逻辑
3.之前修改的SDK第三方 通过打包成私有库…不知道改了第三方SDK 什么业务和内容…涉及到的功能可能会有影响或者 覆盖掉…造成不知道的内容影响
4.预期先搭建根项目--> 拷贝项目每个基础组件(因为部分组件或者代码模块时间久远跨度比较大,部分组件或许不能使用 或者方法早已经废弃! 新组建的项目用的都最新SDK进行接入)--->验证每个模块的功能--->运行测试--->打包验证
5.目前由于老项目架构设计模式混乱 有MVVM MVC mvp 数据库也有好几种造成了 业务耦合错综复杂的代码太多..所以改动搬迁代码.还要额外需要查看逻辑改工作比较耗时费力
优点:初中高级都能快速上手
缺点: 开发协调难 后续增加项目成员一但多了..代码耦合多.代码包体积很大 相互兼容关联大 容易代码冲突 需要所有开发人员水平保持一致
  
    2.比较难点就是 每个模块代码需要去看和验证 相当于50% 重构 和 验证功能逻辑
3.之前修改的SDK第三方 通过打包成私有库…不知道改了第三方SDK 什么业务和内容…涉及到的功能可能会有影响或者 覆盖掉…造成不知道的内容影响
4.预期先搭建根项目--> 拷贝项目每个基础组件(因为部分组件或者代码模块时间久远跨度比较大,部分组件或许不能使用 或者方法早已经废弃! 新组建的项目用的都最新SDK进行接入)--->验证每个模块的功能--->运行测试--->打包验证
5.目前由于老项目架构设计模式混乱 有MVVM MVC mvp 数据库也有好几种造成了 业务耦合错综复杂的代码太多..所以改动搬迁代码.还要额外需要查看逻辑改工作比较耗时费力
优点:初中高级都能快速上手
缺点: 开发协调难 后续增加项目成员一但多了..代码耦合多.代码包体积很大 相互兼容关联大 容易代码冲突 需要所有开发人员水平保持一致
 方案解决内容    
     1.查找无用的项目组库删除,并除掉无用相关代的代码 和 引用头文件 (耗时费力)
2.每个组件都要一一对应验证是否使用的有效代码块
3.主工程合并完所有组件代码…尝试正常运行和打包
  
    2.每个组件都要一一对应验证是否使用的有效代码块
3.主工程合并完所有组件代码…尝试正常运行和打包
 项目复杂度    
     复杂且有点难度  
     解决方法    
     1.删除所有引用组件 
2.每个通用组件项目合并到主工程里面
3.所有组件索引库路径进行整改
  
    2.每个通用组件项目合并到主工程里面
3.所有组件索引库路径进行整改
 iOS自行解决    
     预估完成耗时时间    
     大概五-6天即可以达到设备组件能正常集成第三方库, 能正常在该组件开发, 上传代码到该组件远程仓库, 多人开发同步代码;
但不保证以后会不会继续出现出现问题;没有根本性解决:
  
    但不保证以后会不会继续出现出现问题;没有根本性解决:
 方案解决内容    
     1.翻墙下载国外最新的cocopods库, 解决下载过程中下载失败, 下载超时问题, 远程cocopods和本地cocopods索引bug. 
2.远程组件通过cocopods更新到本地索引库, 处理本地索引冲突问题, 代码缺失方法找不到等问题.
3代码提交远程, 处理和远程仓库冲突问题
  
    2.远程组件通过cocopods更新到本地索引库, 处理本地索引冲突问题, 代码缺失方法找不到等问题.
3代码提交远程, 处理和远程仓库冲突问题
 项目复杂度    
     中等  
     解决方法    
     1.解决cocopods升级问题.
2.更新ocopods本地库.
3.把远程组件更新到本地索引库.
4.本地索引库和远程组件同步关联.
5正常提交组件代码到远程
  
    2.更新ocopods本地库.
3.把远程组件更新到本地索引库.
4.本地索引库和远程组件同步关联.
5正常提交组件代码到远程
 原组件配置中心    
     主工程组件-MeiXiongHui    
     全局主工程主项目工程组-业务版块中心    
     组件-BBCLoveSharing    
     爱分享版块业务核心组件  
     组件-BBCMall     
     商城板块业务核心组件  
     组件-BBCBlue    
     智能蓝牙设备业务核心组件  
     组件使用注意事项    
     组件模块开发代码需要全部独立每个模.运行开发...代码进入每个组件的    
     Development Pods 目录下开发功能  
     如果新建xib 文件需要把 xib文件拖动到Resources 文件中 通过show in Finder 进入根目录查看是否存在  
     组件-BBCSpecs-索引目录表 -cocopods全局配置    
     组件-基于第三方SDK封装的私有库组件中心    
     组件-BBCCoreData    
     数据库  
     组件-BBCFMDB    
     缓存  
     组件-BBCChartKit     
     折线图  
     组件-BBCMapKit    
     地图  
     组件-BBCPhotoBrowser     
     图片  
     组件-BBCCalendar     
     日历  
     组件-BBCAd    
     广告轮播图  
     组件-BBCHttpTool    
     网络请求  
     组件-BBCPlayer    
     视频播放  
     组件-BBCJPVideoPlayer    
     旧(视频播放框架)  
     全局分类自定义组件    
     组件-ZWUIKit  
     组件-自定义私有库组件中心    
     组件-BBCBreastTool    
     旧一代胸膜工具组件  
     组件-BBCMediator     
     全局消息转发组件  
     组件- BBCPageTool     
     页码工具组件  
     组件-BBCCommunity     
     全局未知组件  
     组件-BBCIM    
     IM模块组件
  
     组件-BBCCustomerServiceIM    
     IM 客服模块  
     组件-BBCGuidePage    
     开机启动页广告屏组件  
     组件-BBCMessage    
     消息内容IM 组件  
     组件-BBCDiscover    
     发现内容组件  
     组件-BBCClub     
     俱乐部组件  
     组件-BBCKissXML     
     未知组件  
     组件-BBCQuesAnswer     
     旧资讯问题组件  
     组件-BBCHezi
    
     幸运盒子SDK组件  
     组件-BBCPerson     
     旧个人中心组件  
     组件-BBCLogin    
     登录模块组件  
     组件-BBCinfo    
     首页咨询板块内容  
     组件-全局基础集成组件    
     组件-BBCBase    
     全局基类(VC model View)  
     组件-BBCConfig    
     项目全局属性 名称等定义组件  
     组件-BBCMVVM    
     项目全局架构MVVM  
     组件-BBCCategory    
     全局分类组件  
     组件-BBCCommon    
     项目全局宏定义组件  
     组件-BBCMediatorModule    
     全局路由跳转组件  
     组件-BBCCellModule    
     全局自定义Cell 封装的组件  
     组件-cocopods 集成的第三方SDK    
     类似网络AFN Mansory  YYImage等第三方库  
     旧的SDK打包上线流程方式    
     打包命令    
     更新组件命令    
     sh update.sh  
     提交上线命令    
     sh release.sh  
     1)同步代码,改版本号
2)finder中到BeautifulBreastClub目录,在AutoPacking文件夹中打开autopacking.sh修改更新说明,改好后保存关闭
3)cd到AutoPacking目录
4)sh autopacking.sh执行脚本
5)根据实际情况选择选项
     
      
    2)finder中到BeautifulBreastClub目录,在AutoPacking文件夹中打开autopacking.sh修改更新说明,改好后保存关闭
3)cd到AutoPacking目录
4)sh autopacking.sh执行脚本
5)根据实际情况选择选项
 项目架构    
     项目架构模块_首页    
     根控制器    
     BBCNewHomeVC  
     项目架构模块_爱分享模块    
     根控制器    
     BBCLoveSharingHomeVC
  
     项目架构模块_商城模块    
     根控制器    
     BBCMallListVC  
     项目架构模块_我的模块    
     根控制器    
     BBCPersonCenterVC  
     项目架构模块_智能胸膜模块    
     蓝牙模块核心功能    
     设备管理中心Manager    
     第一代
    
     BBCPleuraDeviceModeOneType  
     单利    
     BBCPleuraManager  
     第二代
    
     BBCPleuraDeviceModeTwoType  
     单利    
     BBCPleuraNewManager  
     第三代(暂时隐藏不用)
    
     BBCPleuraDeviceModeThreeType  
     单利    
     DeviceManager  
     服务中心    
     BBCPleuraNewService    
     网络服务  
     根控制器    
     BBCNewDeviceViewController  
     项目私有库组件(PrivateSpecs)    
     所有的组件都在改目录下开发或者修改    
     修改文件    
     podfile  
     交接文件    
     商城
商品分类:
1. 商品分类 -> BBCClassificationVC
2.刷选界面 -> BBCRighrScreeingVC
3.商品分类搜索 -> BBCCGoodsSearchVC
店铺
1.店铺推荐 -> BBCStorerecommendVC ->BBCClassrecommendVC
2.店铺首页 -> BBCShoppageVC -> BBCShopListVC
3.店铺商品搜索 -> BBCCGoodsSearchVC
4店铺详情 -> BBCShopDetailsVC
个人中心 收藏界面 (商品和店铺收藏暂时没上)
收货地址
1.新建地址 ->BBCCAddNewAddressVC.h
评价物流
1.评价详情 -> BBCCGoodsEvaluateVC.h
2.物流信息 - > BBClogisticsinformationVC.h
  
    商品分类:
1. 商品分类 -> BBCClassificationVC
2.刷选界面 -> BBCRighrScreeingVC
3.商品分类搜索 -> BBCCGoodsSearchVC
店铺
1.店铺推荐 -> BBCStorerecommendVC ->BBCClassrecommendVC
2.店铺首页 -> BBCShoppageVC -> BBCShopListVC
3.店铺商品搜索 -> BBCCGoodsSearchVC
4店铺详情 -> BBCShopDetailsVC
个人中心 收藏界面 (商品和店铺收藏暂时没上)
收货地址
1.新建地址 ->BBCCAddNewAddressVC.h
评价物流
1.评价详情 -> BBCCGoodsEvaluateVC.h
2.物流信息 - > BBClogisticsinformationVC.h
 优化后的组件配置中心    
     创建组件中心    
     GitLab开通权限-->添加项目名称-->git到本地    
     关联项目    
     cd /Users/bbcc/Documents/美胸汇工作/project_new/MeiXiongHuiAPP    
     添加git权限上传大小2G    
     git config --global http.postBuffer 20524288000  
     初始化添加git仓库    
     git init
    
     git add .  
     增加一个远程仓库    
     git remote add origin http://git.meibbc.com/BBCC/IOS/meixionghuiapp
  
     本地项目关联推送到gitlab--->强制推送远程服务器    
     git push origin master -f  
     查询cocopods 缓存目录    
     pod cache list  
     主工程组件-MeiXiongHui    
     全局主工程主项目工程组-业务版块中心    
     组件-BBCLoveSharing    
     爱分享版块业务核心组件  
     组件-BBCMall     
     商城板块业务核心组件  
     组件-BBCBlue    
     智能蓝牙设备业务核心组件    
     BabyBluetooth  
     组件-BBCSpecs-索引目录表 -cocopods全局配置    
     组件-基于第三方SDK封装的私有库组件中心    
     组件-BBCCoreData    
     数据库  
     组件-BBCFMDB    
     缓存  
     组件-BBCChartKit     
     折线图  
     组件-BBCMapKit    
     地图  
     组件-BBCPhotoBrowser     
     图片  
     组件-BBCCalendar     
     日历  
     组件-BBCAd    
     广告轮播图  
     组件-BBCHttpTool    
     网络请求  
     SDK    
     极光推送和地图    
     JCore  
     BaiduMapKit  
     BMKLocationKit    
     CHTCollectionViewWaterfallLayout  
     CWLateralSlide  
     布局和业务堆栈校验 加密等SDK    
     组件-ZWUIKit  
     AvoidCrash  
     Bugly  
     JTCalendar  
     DeepLinkKit  
     FDStackView  
     TarBar    
     CYLTabBarController  
     嵌套框架    
     JXCategoryView  
     JXPagingView  
     MagicalRecord  
     Masonry  
     业务SDK  
     LFLiveKit  
     MBProgressHUD  
     MJRefresh  
     MJExtension  
     SDAutoLayout  
     UITableView+FDTemplateLayoutCell  
     ZJJTimeCountDown  
     YYModel  
     音视频    
     图片处理    
     DZNEmptyDataSet  
     FLAnimatedImage  
     GTMBase64  
     KIOpenSSL  
     libwebp  
     SDWebImage  
     TZImagePickerController  
     YYWebImage  
     liiweb  
     阿里支付 视频播放SDK    
     AliPay_SDK  
     AliPlayerSDK_iOS  
     AliyunOSSiOS  
     AliyunVideoSDKBasic  
     BBCBannerView    
     轮播图组件  
     子主题  
     组件-自定义私有库组件中心    
     组件-BBCMediator     
     全局消息转发组件  
     组件-BBCGuidePage    
     开机启动页广告屏组件  
     组件-BBCDiscover    
     发现内容组件  
     组件-BBCClub     
     俱乐部组件  
     组件-BBCLogin    
     登录模块组件  
     组件-全局基础集成组件    
     组件-BBCNewCommon    
     全局基类 宏定义 分类 mvvm 等配置  
     组件-BBCMediatorModule    
     全局路由跳转组件  
     组件-BBCSpecs-索引目录表  
     组件-cocopods 集成的第三方SDK    
     类似网络AFN Mansory  YYImage等第三方库  
     组件使用注意事项    
     组件模块开发代码需要全部独立每个模.运行开发...代码进入每个组件的    
     Development Pods 目录下开发功能  
     如果新建xib 文件需要把 xib文件拖动到Resources 文件中 通过show in Finder 进入根目录查看是否存在  
     新提议设计方案-->项目组件整改汇总    
     解决方法    
     组件声明唯一索引库    
     合并基础组件库例如: BBCCommon、BBCBase 、BBCConfilg 等配置组件为一个公用调用组件  
     bbcspecs 索引组件    
     查找索引目录本地cocopds 第三方名称 版本号 标签 和 提交的远程库 路径版本是否一致  
     解除相互组件库互相引用    
     查找出组件与组件之间的相互调用、相互引用  
     修改引用代码  
     组件模块测试    
     组件测试运行OK    
     远程打包release 提交带gitLab服务器上  
     组件测试运行失败,分析失败原因情况    
     系统cocopds 第三方库本地连接路径有问题  
     自定义组件时间久远方法调用不起来,运行失败问题  
     第三方SDK没更新造成组件库版本低和库冲突问题  
     自定义封装的库冲突问题  
     项目组件能正常运行,但是无法打包测试上传到服务器上  
     解决方案    
     cocopods 缓存和 release目录下对应下的路径 版本号 是否一样  
     磁盘目录下的隐藏文件.cocoapods文件下-->repos-->git.meibbc.com(私有库)  
     资源库-->caches-->cocopods-->pod文件目录  
     路径错误,查找索引库目录进行对比    
     /Users/bbcc/Library/Caches/CocoaPods/Pods/Release  
     /Users/bbcc/Library/Caches/CocoaPods/Pods/Specs
  
     find ~/.cocoapods | grep /OpenSSL-XM.podspec.json
    
     找出库的路径地址可以修改版本号  
     命令窗口代理设置    
     取消代理
git config --global --unset http.https://github.com.proxy
  
    git config --global --unset http.https://github.com.proxy
 本地设置代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
  
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
 更新 索引目录    
     pod repo update git.meibbc.com  
     添加私有仓库到cocopods    
     pod repo add git.meibbc.com http://git.meibbc.com/BBCC/IOS/bbcspecs.git  
     添加master
pod repo add master https://github.com/CocoaPods/Specs.git
  
    pod repo add master https://github.com/CocoaPods/Specs.git
 更新内部仓库命令:pod repo update 0-ios-bbcspecs  
     验证 podspec
pod lib lint PodName.podspec
    
    pod lib lint PodName.podspec
 Cocoapods install时查看进度  
     输入命令:pod install --verbose --no-repo-update  
     项目复杂度    
     中等  
     预估完成耗时时间    
     时间相对快一点 有效解决根本问题  
     新打包上线流程    
     正常苹果机制打包-->achive-->导出ipa包文件  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 