在开发项目的过程中,会使用到全局的宏定义,公共开发的组件,供项目内部使用,随着业务的不断增长,可以封装的公共组件越来越多,那么有没有好的方式来统一管理这些组件呢,这就是我今天要和大家分享的内部库的创建和使用。好了,直接进入到今天的主题,如何创建和管理内部库。
创建内部公共功能组件库
我会以自己项目中使用到的一个逆时针进度条来举例,说明如何去创建和使用一个内部公共功能的组件库.具体操作步骤如下:
使用gitee
创建一个项目,并clone
到本地
截屏2021-03-22 上午11.31.08.png
进入到项目根目录下,创建Frameworks
文件夹,进入到Frameworks
文件夹下,创建PSPublibs
文件夹,然后在PSPublibs
文件夹下分别创建PSPublibs.podspec
,LICENSE
,src
,assets
文件夹.接下来分别介绍这四个文件夹的用途
PSPublibs.podspec
PSPublibs.podspec
是PSPublibs
库的Pod
描述文件,用于描述该Pod
库的一个特定版本信息。它存放在CocoaPods
的中心Repo
供使用者查找和使用。
随着这个
Pod
库的迭代,CocoaPods
的中心Repo
会为每个特定的Pod
版本存放一个对应的podspec
文件。每个podspec
文件都包括Pod
对应Repo
的URL
、源码存放的位置、所支持的系统平台及其系统最低版本号,以及Pod
的名字、版本号和描述等信息。
PSPublibs.podspec
中的相关配置如下
Pod::Spec.new do |s|
s.name = 'PSPublibs.podspec'
s.version = '1.0.0'
s.summary = '项目中自用的公共组件'
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
Contains the decomponents for Design System.
DESC
s.homepage = 'https://gitee.com/nbns/pspubliclib'
s.license = 'MIT'
s.author = 'MIT'
s.source = { :path => '.' }
s.ios.deployment_target = '13.0'
s.source_files = 'src/**/*'
# s.resources = 'assets/**/*'
end
LICENSE
LICENSE
是许可证文件,如果是开源库,我们必须严格选择一个许可证,这样才能方便其他开发者使用我们的库。
src
所有源代码文件都存放在
src
文件夹下面
assets
存放图片、
Xib
和Storyboard
等资源文件
将封装好的内部组件库拖至src
文件夹下,按照对应组件的名称分类成不同的文件夹
截屏2021-03-22 下午12.00.01.png
使用pod lib lint
库检测内部库配置文件是否正确
- 需要注意的是,
CocoaPods
对内部库的检测存在一个Bug
, 会显示下面的警告:
Missing primary key for `source` attribute
由于我们创建的是内部库,所以可以忽略这个警告,只要没有其他错误信息就可以了。
到这里,内部组件库的创建就已经完成了,接下来,看看如何在项目中使用内部库
使用内部公共功能组件库
由于是内部组建库,所以需要我们创建的项目和
Frameworks
在同一层级
- 创建一个
Xcode
项目,保证该项目和Frameworks
在同一层级,文件目录如下:
截屏2021-03-22 下午12.18.42.png
-
cd
到该目录文件,创建pod
文件,具体如下:
platform:'ios',13.0
target 'pspubliclib'do
pod 'PSPublibs', :path => './Frameworks/PSPublibs', :inhibit_warnings => false
end
- 执行
pod install
命令,待下载完成后,打开项目,查看本地组件库是否可以引用到,如果可以引用到,就可以了.
至此,内部库的创建和使用都已经讲解完了,如果有问题,欢迎到评论去留言。
网友评论