iOS 的那些事儿项目优化

iOS 组件化(一)

2021-07-08  本文已影响0人  木扬音

组件化

组件化就是将模块单独抽离,分层,通过制定的通讯方式,实现解耦

组件化优点
需要组件化的情况
不需要组件化的情况
组件化的标准
组件化分层

项目在进行组件化时,通常分为三层:基础层通用层业务层

组件化图示
组件化方案

本地组件化

1、创建主工程
2、创建组件

我们创建一个Base模块

Framework
3、调用library
4、使用

**子library之间相互调用和主工程调用类似,只需要添加依赖和暴露header *

image.png
5、cocoapods管理三方依赖

platform :ios, '10.0'
use_frameworks!

#配置workspace路径
workspace 'YPProject.xcworkspace'

################# 三方依赖
# 公有
def workspace_pods
  pod 'YYModel'
end

# 主工程
def project_only_pods
  pod 'Masonry'
end

#网络
def network_layer_pods
  pod 'AFNetworking'
end

################# 模块
target 'YPBaseModule' do
  #配置library路径
  project 'YPProject/YPBaseModule.xcodeproj'
  
  workspace_pods
  network_layer_pods
end

################# 主工程
target 'YPProject' do
  workspace_pods
  project_only_pods
  network_layer_pods
end

cocoapods组件化

cocoapods组件化流程
1、创建私有仓库
pod repo add TestModule https://github.com/Ymuyangyin/TextModule
2、创建工程
pod lib create YPServices
3、配置
通过修改配置文件YPServices.podspec
s.dependency 'AFNetworking'
//1、修改对应的podspec
s.dependency 'YPServices'
//2、修改podfile
pod 'YPServices',  :path => '../../YPServices'

4、提交到git
git init

git add .

git commit -am "首次提交"
//模块仓库地址
git remote add origin https://github.com/Ymuyangyin/YPServices

git push origin master
//添加标签 版本号
git tag -m "first release" "0.1.0"

git push --tags
5、验证podspec文件
6、提交到私有仓库
pod repo push [本地 Spec Repo名称] [podspec文件路径]
//------------
pod repo push TestModule YPServices.podspec
7、使用

打开podfile文件,添加下面指令,执行pod install

#私有spec仓库的地址,而不是某个pod仓库的地址
source 'https://github.com/Ymuyangyin/TestModule'
pod 'YPServices'
上一篇 下一篇

猜你喜欢

热点阅读