美文网首页程序员iOS点点滴滴
iOS_让自己的框架支持CocoaPods

iOS_让自己的框架支持CocoaPods

作者: Sense王旭明 | 来源:发表于2018-01-24 14:21 被阅读191次

    首先说点什么呢, 开发的久了, 一直都是用 cocoapods 来管理和引用第三方库, 有时候也想把自己写的库放在上面, 方便别人也方便自己, 哈哈哈现在就来看下 如何自己的框架支持 cocoapods

    1. 在 github 上创建新的项目

    要注意 LICENSE 和 README.md
    LICENSE 是必须的, readme.md 可选

    新创建仓库 如图所示 :


    new_repository.png

    2. clone 到本地

    git clone https://github.com/wxm6099/SEWeChatTool
    

    拉回来后的目录结构 如图 :


    content_01.png

    3. 放入自己的库和 demo

    content_02.png
    git add SEWeChatTool
    git add SEWeChatToolDemo
    git commit -m 'add SEWeChatTool and SEWeChatToolDemo'
    git push
    

    注意 : 要打 tag, cocoapods 那边使用 tag 来区分release版本的,

    git tag 0.1
    git push --tags
    

    4. 创建并编辑 podspec 文件

    pod spec create SEWeChatTool.podspec
    
    podspec.png
    Pod::Spec.new do |s|
    
      s.name         = "SEWeChatTool"
      s.version      = "0.1"
      s.summary      = "A simple tool to use WeChatSDK" 
      #s.description  = <<-DESC
      #                 DESC
      s.homepage     = "https://github.com/wxm6099/SEWeChatTool"
      s.license      = "MIT"
      s.author             = { "609974309@qq.com" => "609974309@qq.com" }
      s.platform     = :ios, "7.0"
      s.source       = { :git => "https://github.com/wxm6099/SEWeChatTool.git", :tag => "0.1" }
    
      s.source_files  = "SEWeChatTool/*.{h,m}"
      s.dependency "WechatOpenSDK"
    

    注意 : 这就是大概必须的字段了, 非常简洁易懂, 主要说明几个(都是我趟过的坑)

    • 4.1 这里的 description 书写 需要一点格式, 具体是下面这样:
      s.description  = <<-DESC
                  easy to use WeChat SDK tools.
                       DESC
    
    • 4.2 这里的 source_file 书写, 需要依据你的目录结构 :
      默认是 s.source_files = "Classes/**/*.{h,m}"
      首先
      ** 是匹配所有目录,
      * 匹配文件,
      .{h,m} 匹配后缀是 .h 或 .m 的文件

    然后 Classes 须和 podspec 同级的存放你的库文件的目录, 这里 我存放库文件的目录 是 SEWeChatTool, 且里面已经是.h & .m的文件, 即我的 s.source_files = "SEWeChatTool/*.{h,m}", 若你的目录下还有很多子目录比如 util, tool, 可以写成

    s.source_files  = "Classes/util/*.{h,m}"
    s.source_files  = "Classes/tool/*.{h,m}"
    

    或者是

    s.source_files  = "Classes/**/*.{h,m}"
    

    5. 验证 podspec 文件

    pod spec lint SEWeChatTool.podspec
    

    注 : 这里按情况 可加一些参数

    --verbose 打印错误信息
    --allow-warnings 允许警告
    --use-libraries 允许使用静态库

    然后验证通过, 如图所示 :


    验证通过.png

    6. 提交 github 平台

    验证通过后, 需要将本地的改动, 提交至云端.

    git commit -am ‘correct a content in SEWeChatTool.podspec’
    git push --all
    

    7. 发布到 cocoapods

    注 : 如果你没注册过trunk, 需要先注册

    pod trunk me
    
    注册 trunk.png

    如果没有注册信息, 那就注册一个吧

    pod trunk register 609974309@qq.com "sense" --verbose
    

    万事俱备, 接下来直接发布到 cocoapods

    pod trunk push SEWeChatTool.podspec
    

    因为我这里有引用的 微信的 openSDK, 微信的 sdk 中有.a 文件, 即

    pod trunk push SEWeChatTool.podspec --allow-warnings --use-libraries
    

    发布成功, 如图所示 :


    发布成功.png

    成功之后就能 搜索一下自己的成果啦

    pod search SEWeChatTool
    

    注意 : cocoapods 需要一些处理时间, 可以去 cocoapods 官网去查看自己的库

    cocoapods 官网.png

    若官网可以搜索到自己的库, 但pod search 或 pod install 还是报错找不到文件, 可以 先 pod update 更新 pod

    这就是让自己的库 支持 cocoapods 大致过程, 想查看工程, 这里就是 SEWeChatTool

    相关文章

      网友评论

        本文标题:iOS_让自己的框架支持CocoaPods

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