本地组件化主要是通过在工程中创建framework,利用cocoapods的workspec进行本地管理,不需要将项目长传到git上,直接在项目中用framework进行调用。
1.创建主工程
image.png
集成
cocoapods进行本地管理项目,并编辑好Podfile文件,然后安装
pod init
pod install
image.png
2.创建模块
1.选择File ->New ->Project ->iOS -> Framework
image.png
2.选择好
WorkSpace和Group,最好把Framework放在主工程根目录下,不然后面的Podfile执行会报错。
image.png
3.把创建好的
Framework的Build Settings -> Mach-O Type修改为静态库Static Library
image.png
3.主工程调用Framework
1.在Capacity中新建一个文件Swim.swift
image.png
2.在
Build Phases -> Headers -> Public中将新建的文件添加为public,这样主工程才能访问该文件
image.png
3.在主工程,选择
target -> Linked Binary With Libraries中添加Capacity,只需要build主工程,Framework能够自动联编
image.png
image.png
4.主项目调用先
import Capacity,然后调用如下
image.png
4.使用cocoapods管理三方依赖
假设需要在Capacity中封装网络层代码,需要用到三方库Alamofire,在Podfile中进行如下修改
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
inhibit_all_warnings!
use_frameworks!
#配置workspace路径
workspace 'Fish.xcworkspace'
#######第三方依赖########
#公有
def workspace_pods
pod 'SwiftyJSON'
end
#主工程
def project_only_pods
pod 'SnapKit'
end
#网络
def network_layer_pods
pod 'Alamofire'
end
########组件###########
target 'Capacity' do
project 'Capacity/Capacity.xcodeproj'
workspace_pods
network_layer_pods
end
target 'Fish' do
# Comment the next line if you don't want to use dynamic frameworks
# Pods for Fish
workspace_pods
project_only_pods
network_layer_pods
end
执行下pod install
image.png














网友评论