iOS 本地私有库的搭建以及使用

简介: iOS 本地私有库的搭建以及使用

一、阐述本地私有的工作流程



  • 1.1、在本地搭建git管理,创建本地的私有库,
  • 1.2、以及spec文件,用的时候直接路径导入
  • 1.3、本地私有库的使用
  • 1.4、 远程库(公有与私有)与本地库的区别


二、在本地搭建git管理,创建私有库



  • 2.1、在桌面创建一个存放私有库的文件夹 LocalPrivateLibrary


image.png


2.2、在 LocalPrivateLibrary 文件夹里面创建一个JKWideHighSize 文件夹,并在里面创建一个 JKWideHighSize 的项目



image.png



  • 2.3、cd 进入私有库 JKWideHighSize


cd /Users/wangchong/Desktop/LocalPrivateLibrary/JKWideHighSize
  • 2.4、创建git本地管理


git init



image.png


  • 2.5、我在JKWideHighSize 项目里面有一个JKWideHighSize文件夹,里面存放的使我们到时候本地引用的文件夹



image.png



  • 2.6、把JKWideHighSize代码提交到本地库(可以不打tag)


# (2.4图中的那个cd JKWideHighSize)
cd JKWideHighSize   
# 把代码添加到暂缓区
git add .
# 把暂缓区的代码提交到本地仓库
git commit -m '提交内容说明'
# 给版本打tag
git tag '0.0.1'


三、创建spec文件,用的时候直接路径导入



  • 3.1、创建spec文件


# (2.4图中的那个cd JKWideHighSize)
cd /Users/wangchong/Desktop/LocalPrivateLibrary/JKWideHighSize
# 创建spec文件
pod spec create JKWideHighSize



image.png



  • 3.2、修改spec文件,主要修改下面的几项


  • s.name(名字)         = "JKWideHighSize"


s.name         = "JKWideHighSize"
  • s.version(版本)      = "0.0.1"


s.version      = "0.0.1"
  • s.summary(简介)      = "要比下面的详细描述短"


s.summary      = "计算文本高度"
  • s.description(详细的描述)  =  "内容要比简介的内容长"


s.description  = "一个很好用的计算文本高度的类"


s.homepage     = "http://EXAMPLE/JKWideHighSize"
  • s.license      = "MIT (example)" (协议直接写 MIT就好了)


s.license      = "MIT"
  • s.author             = { "JoanKingWC" => "JoanKingWC@163.com" }   (随便写)


s.author             = { "JoanKingWC" => "JoanKingWC@163.com" }


s.source       = { :git => "", :tag => "#{s.version}" }
  • s.source_files  = "Classes", "Classes/*/.{h,m}" (这个很重要,我要给你们详细的描述一番)


  • (1)、Classes 就是要引用的本库文件夹,我这里是 JKWideHighSize


image.png


(2)、"Classes/*/.{h,m}" ,就是从spec文件开始找到上面 要引用的库文件夹 JKWideHighSize ,我这里如下

"JKWideHighSize/JKWideHighSize/JKWideHighSize/*/.{h,m}"



image.png


  • s.exclude_files = "Classes/Exclude"  (直接注释掉就好了)
# s.exclude_files = "Classes/Exclude"


三、本地私有库的使用



  • 3.1、在上面咱们已经创建好了本地私有库以及spec文件,下面咱们在桌面创建一个项目 JKTest 来使用私有库JKWideHighSize
  • 3.2、给JKTest项目创建Podfile文件


cd JKTest
pod init
  • 3.3、修改 Podfile 文件引入本地私有库


platform :ios, '9.0'
target 'JKTest' do
     use_frameworks!
     # JKWideHighSize 是本地私有库,也就是我们要引用的那个库文件夹,path后面的路径使我们我们以当前的Podfile为开始k路径找到 私有库JKWideHighSize的 spec 文件夹的路径
     pod 'JKWideHighSize', :path => '../LocalPrivateLibrary/JKWideHighSize'
end


image.png

3.4、修改完上面的 pod install 一下,从下图可以看出成功的导入了本地的私有库


image.png

四、 远程库(公有与私有)与本地库的区别



  • 4.1、本地私有库
  • 1、需要主动指明路径,如果调整路径,需要修改相关的配置
  • 2、版本升级不好维护
  • 3、不能团队共享
  • 4、本地私有库放在本地就可以,我放在了桌面


  • 4.2、 远程库(公有与私有)
  • 远程私有库可以将你的代码传到第三方托管平台进行公司内部开发人员共享,从而实现组件化开发模式,远程私有库可以放在第三方托管平台(如:github,码云,码市),github私有库收费,我放在了码云


远程私有库

远程公有库


目录
相关文章
|
5月前
|
iOS开发
iOS使用.framework类型的静态库
iOS使用.framework类型的静态库
39 1
|
5月前
|
开发工具 iOS开发
iOS制作.framework静态库
iOS制作.framework静态库
44 1
|
5月前
|
iOS开发 Perl
iOS使用.a类型的静态库
iOS使用.a类型的静态库
39 1
|
5月前
|
开发工具 iOS开发
iOS制作.a类型的静态库
iOS制作.a类型的静态库
35 1
|
5月前
|
开发工具 iOS开发 Perl
iOS使用SDK静态库
iOS使用SDK静态库
50 0
|
5月前
|
XML JSON API
IOS网络编程:介绍一下 Alamofire 库。
IOS网络编程:介绍一下 Alamofire 库。
116 3
|
12月前
|
安全 物联网 API
iOS开源库总结
iOS开源库总结
42 0
|
前端开发 API Android开发
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
258 0
|
Web App开发 存储 网络协议
ios 组件化之Cocoapods私有库详解以及问题解决方案
ios 组件化之Cocoapods私有库详解以及问题解决方案
ios 组件化之Cocoapods私有库详解以及问题解决方案
|
开发工具 iOS开发 Perl
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
174 0
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种