【iOS】利用CocoaPods创建私有库进行组件化开发

之前使用CocoaPods管理过第三方库,前面也有翻译文章介绍过CocoaPods的配置方法,随着项目越来越大,很多公司会使用CocoaPods进行组件化开发,下面利用一个demo介绍一下。

什么是库

先说下什么是库,库分为静态库和动态库两种:
- 1、动态库是在运行时实时部署,而静态库必须在编译时连接到代码。
- 2、动态库加载到内存可以重复使用,而静态库每次import都要引用一次。
- 3、自定义的动态库只能部署在iOS8以上系统。
库有三种格式:
- 1、.a:纯代码静态库
- 2、.dylib:纯代码动态库

.a和.dylib

  • 3、.framework:可以包含资源,代码和资源。可以包含静态库和动态库。

创建一个库

1、创建framework:
创建framework

2、随便建一个类
创建一个类

3、在创建的类里面添加两个方法调试用
添加方法

4、在默认创建的类里面导入头文件
导入头文件

5、然后我们看看Build Active Architecture Only 这个值。这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。而设置为no时,会编译所有的版本。所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。很多第三方库都是这样设置的。
Build Active Architecture Only

6、把头文件公开,其他人可以引用到
公开头文件

7、在github上创建一个仓库,把刚才的工程push上去

8、创建podspec文件
创建podspec文件

创建好了

9、配置podspec文件文件,具体教学可以看https://guides.cocoapods.org/syntax/podspec.htmlhttps://segmentfault.com/a/1190000012269307这两个网址

Pod::Spec.new do |spec|
spec.name         = 'nickCocoaPodsFrameWork'
spec.version      = '0.0.1'
spec.license      = 'MIT'
spec.homepage     = 'https://github.com/tonymillion/Reachability'
spec.authors            = { "nickzc" => "chaokuzc@icloud.com" }
spec.summary      = '组件开发实验'
spec.source       = { :git =>     'https://github.com/nickzc/nickCocoaPodsFrameWork.git', :tag => '0.0.1' }
spec.source_files = 'nickCocoaPodsFrameWork/**/*.{h,m}'
spec.platform    = :ios
end

10、验证podspec文件:

pod spec lint xl_test.podspec --allow-warnings

如果报错了就去查询错误原因。

11、新建一个程序,用cocoaPods安装我们刚才写的库:
(1)执行 pod init命令
(2)profile文件添加刚才建的库

# Uncomment the next line to define a global platform for your project
 platform :ios, '8.0'

target 'TestCocoaPods' do

    pod 'nickCocoaPodsFrameWork', :git => 'https://github.com/nickzc/nickCocoaPodsFrameWork.git'

end

(3)pod install –no-repo-update
pod update –no-repo-update

12、完成。

刚才自己写的framework的地址:https://github.com/nickzc/nickCocoaPodsFrameWork.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值