美文网首页
Vickate_五分钟制作自己的 CocoaPods 依赖库

Vickate_五分钟制作自己的 CocoaPods 依赖库

作者: Vickate | 来源:发表于2017-05-19 16:41 被阅读0次

    BEGAN

    之前一直用大神们的写好的轮子,哇塞,直接 cocoapod 就引进项目里面了,觉得好厉害,很羡慕,想着自己什么时候也能发一个轮子让大家也用用,不说做什么了,都不知道怎么上传项目至 cocoapods 里面。

    自己查找了很多资料,终于传上了第一个轮子,废话不多说,分以下几步,上操作~

    1.本地代码
    2.上传到 Github托管
    3.添加 CocoaPods 依赖库

    前两步的操作可以参见我上边写的,链接以下:上传到 Github托管

    我们直接从第三步开始:

    1、我们在上传代码到 github 成功过后要给代码打 tag
    // 例如
    $ git tag '1.0.0'
    $ git push --tags
    
    2、注册trunk:(如果我们之前没有注册的话,需要注册一个)
    // 查看自己之前有没有注册过 trunk
    $ pod trunk me
    

    如果已经注册过会是以下样式。


    Paste_Image.png

    未注册的用户需要执行以下几步:

    $sudo gem install cocoapods
    
    // 账号邮箱是自己的 Github 账号和用户名
    $pod trunk register xy@dtb@163.com 'VansXY'  --verbose
    
    // 查看自己是否注册成功
     $pod trunk me
    
    3、配置自己的podspec文件

    (1)打开项目文件夹

    $cd Desktop/XYCategoryDemo/
    

    (2)创建podspec文件

    $ pod spec create XYCategoryDemo
    

    这时项目中会生成一个XYCategoryDemo.podspec文件 用XCode 打开(或者下载一个 sublime Text

    (3)根据自己的信息 ,进行编辑XYCategoryDemo.podspec文件

    // 提供的模板
    Pod::Spec.new do |s|
    
      s.name         = "XYCategoryDemo"
      s.version      = "0.0.2"
      s.summary      = "A short description of XYCategoryDemo."
      s.description  = "XYCategoryDemo is very easy"
    
      s.homepage     = "https://github.com/VansXY/XYCategoryDemo.git"
    
    
      s.license      = { :type => "MIT", :file => "LICENSE" }
    
    
      s.author       = { "肖扬" => "xy_dtb@163.com" }
    
      s.source       = { :git => "https://github.com/VansXY/XYCategoryDemo.git", :tag => "#{s.version}" }
    
      s.platform     = :ios, "8.0"
    
      s.source_files  = "XYCategoryDemo/XYCategory/*"
      #s.exclude_files = "Classes/Exclude"
    
      s.framework  = "UIKit"
    
      s.requires_arc = true
    
    参数的注释:
     name: 导入pod后的目录名 
     version: 当前版本号
     deployment_target: 配置的target 
     prefix_header_file: 预编译头文件路径,将该文件的内容插入到Pod的pch文件内
     source: 来源的具体路径,是http链接还是本地路径 requires_arc: 是否需要arc
     source_files: 指定该目录下包含哪些文件 其他可选参数还包括: dependency: 指定依赖,如果依赖的库不存在或者依赖库的版本不符合要求将会报错
     libraries: 指定导入的库,比如sqlite3
     frameworks: 指定导入的framework 
     weak_frameworks: 弱链接,比如说一个项目同时兼容iOS6和iOS7,但某一个framework只在iOS7上有,这时候如果用强链接,那么在iOS7上运行就会crash,使用weak_frameworks可以避免这种情况。
    
    通配符说明:
    a{bb,bc}def.{h,m}表示四个文件abbdef.h abbdef.m abcdef.h abcdef.m
    *.{h,m,mm}表示所有的.h .m .mm文件Class/**/*.{h,m}表示Class目录下的所有.h .m文件
    
    4、调试下podspec配置文件是否有错误
    $ pod lib lint --allow-warnings  // 验证是否有合格
    

    出现错误,可以根据错误修改下~没有一次成功的。

    5、提交 podspec 到 cocoapod 库
    # pod repo push [repo仓名] [podspec文件名]
    $ pod repo push  xxx  xxx.podspec
    

    完成之后这个私有库就添加到我们的私有Spec Repo中,可以进入到~/.cocoapods/repos目录下查看

    6、最后一步 trunk提交就可以了
    # 提交podspec文件到trunkpod trunk push NNATree.podspec
      pod trunk push --allow-warnings
    
    引用的一张图

    成功了!
    pod search xxx 可能需要等一会才能搜到 或者运行 pod setup试试(CocoaPod 官方会审核,审核通过后会搜索到,不要急~)

    END

    相关文章

      网友评论

          本文标题:Vickate_五分钟制作自己的 CocoaPods 依赖库

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