美文网首页
iOS 创建私有pod 仓库

iOS 创建私有pod 仓库

作者: 当阳桥 | 来源:发表于2017-05-07 23:28 被阅读92次

在项目中有时候需要开发一些组件,在不同的项目中都可以通过pod仓库导入到自己的项目中。

这时候就需要来创建一个私有的pod仓库,满足我们的需求。

一下是具体步骤:

  1. 在coding.net 创建一个版本仓库,和一个代码仓库

2.打开终端

cd .cocoapods/repos/

pod repo add FFRepo https://git.coding.net/zhangfei11/FFRepo.git  // coding.net的文件路径,本地仓库和远端的路径映射

  1. git clone https://git.coding.net/zhangfei11/FFRepoDemo.git
    添加相应的文件层次结构如下:
    屏幕快照 2018-05-22 下午6.26.34.png

4.编辑podspec文件


Pod::Spec.new do |s|

s.name         = "FFRepo" # 项目名称
s.version      = "0.0.4"        # 版本号 与 你仓库的 标签号 对应
s.license      = "MIT"          # 开源证书
s.summary      = "私人pod代码" # 项目简介

s.homepage     = "https://git.coding.net/zhangfei11/FFRepoDemo.git" # 仓库的主页
s.source       = { :git => "https://git.coding.net/zhangfei11/FFRepoDemo.git", :tag => "0.0.4" }#你的仓库地址,不能用SSH地址

# s.source_files = [
#                   "FFRepoDemo/FFRepoDemo/FFNetwork/*.{h,m}" ,
#                   "FFRepoDemo/FFRepoDemo/FFRouter/*.{h,m}" ,
#                   "FFRepoDemo/FFRepoDemo/FFCommonTool/*.{h,m}" ,
#                   "FFRepoDemo/FFRepoDemo/FFExtensions/*.{h,m}",
#                    "FFRepoDemo/FFRepoDemo/FFCommonHeader/*.h"
#                  ]

s.subspec 'FFExtensions' do |ext|
ext.source_files  =  "FFRepoDemo/FFRepoDemo/FFExtensions/*.{h,m}"
ext.dependency  'MJExtension'
ext.dependency  'FFRepo/FFCommonHeader'
end

s.subspec 'FFCommonHeader' do |header|
header.source_files  =  "FFRepoDemo/FFRepoDemo/FFCommonHeader/*.h"
end

s.subspec 'FFCommonTool' do |tool|
tool.source_files  =   "FFRepoDemo/FFRepoDemo/FFCommonTool/*.{h,m}"
tool.dependency  'FFRepo/FFExtensions'
end

s.subspec 'FFRouter' do |rout|
rout.source_files  =  "FFRepoDemo/FFRepoDemo/FFRouter/*.{h,m}"
rout.dependency  'FFRepo/FFExtensions'
end

s.subspec 'FFNetwork' do |net|
net.source_files  =  "FFRepoDemo/FFRepoDemo/FFNetwork/*.{h,m}"
net.dependency  'FFRepo/FFRouter'
net.dependency  'FFRepo/FFCommonTool'
net.dependency  'FFRepo/FFExtensions'
net.dependency  'FFRepo/FFCommonHeader'
end

s.subspec 'FFImages' do |image|
image.resources    = "FFRepoDemo/FFRepoDemo/FFImages/*.png"
end

s.subspec 'FFAlert' do |alert|

alert.subspec 'Manager' do |m|
  m.source_files  =  "FFRepoDemo/FFRepoDemo/FFCommonAlert/FFAlertManager/*.{h,m}"
  m.dependency  'FFRepo/FFAlert/Model'
  m.dependency  'FFRepo/FFAlert/View'
  m.dependency  'FFRepo/FFCommonHeader'
  m.dependency  'FFRepo/FFNetwork'
end
alert.subspec 'Model' do |model|
   model.source_files  =  "FFRepoDemo/FFRepoDemo/FFCommonAlert/FFAlertModel/*.{h,m}"
end

alert.subspec 'View' do |v|
   v.source_files  =  "FFRepoDemo/FFRepoDemo/FFCommonAlert/FFAlertView/*.{h,m}"
   v.dependency  'FFRepo/FFAlert/Model'
   v.dependency  'FFRepo/FFExtensions'
   v.dependency  'FFRepo/FFCommonHeader'
   v.dependency  'FFRepo/FFImages'
end

end

#s.private_header_files = 'FFRepoDemo/FFRepoDemo/FFCommonHeader/*.h'
s.requires_arc = true # 是否启用ARC
s.platform     = :ios, "8.0" #平台及支持的最低版本
s.frameworks   = "UIKit", "Foundation", "AdSupport"#支持的框架

s.dependency  'Masonry'
s.dependency  'AFNetworking'
s.dependency  'MJExtension'
s.dependency  'SDWebImage'

s.author             = { "BY" => "302591061@qq.com" } # 作者信息
end

#s.private_header_files = 'FFRepoDemo/FFRepoDemo/FFCommonHeader/*.h'
s.requires_arc = true # 是否启用ARC
s.platform     = :ios, "8.0" #平台及支持的最低版本
s.frameworks   = "UIKit", "Foundation", "AdSupport"#支持的框架

s.dependency  'Masonry'
s.dependency  'AFNetworking'
s.dependency  'MJExtension'
s.dependency  'SDWebImage'

s.author             = { "BY" => "302591061@qq.com" } # 作者信息
end

3.然后验证是否编辑成功

pod lib lint --allow-warnings --verbose

5.接着 用git提交

git add -A 
 
git commit -m "first vision”

git tag -m "new  version" '0.0.1' #每次修改时候改一下版本

git push —-tags

git push origin master

5.提交到git仓库,这一步会将本地的新的podspec文件提交到远程和本地的repo仓库

pod repo push FFRepo FFRepo.podspec --allow-warnings --verbose

成功后文件层次结构

屏幕快照 2018-05-22 下午6.07.32.png

6.测试pod是否可用

创建一个工程,进入工程。
pod init

pod install

在Podfile中输入

source 'https://git.coding.net/zhangfei11/FFRepo.git' #本地仓库路径
source 'https://github.com/CocoaPods/Specs.git' #其他第三方依赖仓库路径
platform :ios, '9.0'
target 'FFRepoDemo' do

pod 'FFRepo'

end

pod导入的字文件结构:

屏幕快照 2018-05-22 下午6.09.03.png

最后进入工程文件更新

 pod update --verbose --no-repo-update

7 . 关于后期pod 的更新,由于本地有一个测试工程,所以每次在测试工程中将修改的改好之后,重新编辑一下 本地工程的podspec 文件,然后重复 3、4、5步

参考:
https://www.jianshu.com/p/d6a592d6fced https://www.jianshu.com/p/1e5927eeb341
pod 官方文档
https://guides.cocoapods.org/syntax/podspec.html
git 命令
http://www.cnblogs.com/cspku/articles/Git_cmds.html

相关文章

网友评论

      本文标题:iOS 创建私有pod 仓库

      本文链接:https://www.haomeiwen.com/subject/whvptxtx.html