创建自己的pod仓库

例如 我要创建一个名为 FPIjkplayer 的仓库

1.利用模板生成一个pod工程

// 桌面创建一个pod工程文件
cd desktop
pod lib create FPIjkplayer

自动生成一个库文件夹和example文件夹

库的源码和资源文件夹

2.编写.podspec 文件

创建远程一个同名的远程仓库

s.source 地址我设置的不是github,而是gittee, 因为在国内下载更方便

3.添加源码到classes路径下,执行pod install 导入工程测试

这里我把静态库放进去, 可以根据实际情况放代码或者其它文件



由于example工程引用的是本地路径,打开example工程执行

 pod install --no-repo-update
podfile 引用的是本地路径
pod install 之前原始状态

pod install 之后,可以看到静态库文件被导入项目了

此时,由于播放器要依赖很多系统框架,此时编译链接报错

需要配置私有库依赖

 # 设置依赖多个系统的library  需要去掉lib 前缀 
  s.libraries = 'c++','z','bz2'
  # 配置依赖系统库 需要去掉 .framework后缀
  s.frameworks = 'AudioToolbox', 'UIKit','CoreGraphics','AVFoundation','CoreMedia','CoreVideo','MediaPlayer','MobileCoreServices','OpenGLES','QuartzCore','VideoToolbox'
  # Framework目录下的***.framework静态库 IJKMediaFramework
  s.vendored_frameworks  = 'FPIjkplayer/Classes/*.framework' 
  # 指定pod加静态库标签
   s.static_framework = true  

执行 pod update --no-repo-update 更新pods
此时demo 工程完美运行


此时静态库被自动放进一个framework文件夹内

4. 本地pods测试没问题,就验证pod 是否合规,如果合规,把pods推到远程仓库

cd /Users/yannchee/Desktop/FPIjkplayer/
pod lib lint

如果不合规,会有报错提示,根据提示解决
例如我这里提示链接有问题,但是实际上本地没有问题,所以在验证后面加上 --skip-import-validation

pod lib lint  --skip-import-validation
验证通过

把pod项目提交到远程仓库

git remote add origin https://gitee.com/YannChee/FPIjkplayer.git
git add .
git commit -a -m "提交ijkplayer静态库"
git pull origin master --allow-unrelated-histories
git push origin master
// 如果想覆盖远程 git push -f origin master
git tag 0.1.0
git push origin 0.1.0

6.创建Sepc管理库

// pod添加的管理库名字 FPIjkplayerSpecs
pod repo add FPIjkplayerSpecs https://gitee.com/YannChee/FPIjkplayer.git
#  上传FPIjkplayer.podspec
 pod repo push FPIjkplayerSpecs FPIjkplayer.podspec
//  如果链接错误加上 --skip-import-validation

此时 远程pods 发布成功!

你可能感兴趣的:(创建自己的pod仓库)