zoukankan      html  css  js  c++  java
  • 将自己的框架更新到cocopods上

    为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢?

    下面我一步一步带大家开源自己的框架。

    第一步

    把自己的框架更新到github 上,为了提交地址给他人下载。
    这里就不详细介绍如何把项目更新到github上了

     

    第二步

    这个时候我们的项目已经挂在github上了
    我们需要给本地的项目新建一个Podspec描述文件

    // 进入到项目目录下

    cd xxx/xxx/xxx

    // 创建Podspec文件

    pod spec create “你的Podspec名字”

    此时你已经在项目目录下创建了一个Podspec文件了
    这个时候我们需要对他进行编辑
    注意:最好用xcode 去编辑 防止错误 只能输入英文标点

    你可能显示的版本为:

    Pod::Spec.new do |s|

    s.name = “项目名字”
    s.version ="版本号"
    s.summary = "项目介绍"
    s.homepage = "你的主页地址"
    s.license = "MIT" //这里就选这个许可证
    s.author ={"你的名字" => "邮箱"}
    s.platform =iOS,"最低支持的系统"
    s.source ={git =>"项目git地址",tag =>"tag号"}
    s.source_files = "text/*/.(h.m)" //这里是项目路径要传的文件
    s.framework ="UIKit" //依赖的系统库 可以依赖多个
    // 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
    // s.dependency "AFNetWorking"
    // 如果需要配置依赖系统库
    // s.framework = 'SomeFramework'// 设置依赖的系统库名称
    // s.frameworks = 'SomeFramework', 'AnotherFramework'//设置多个系统库名称
    // 需要依赖系统的library
    s.library = 'iconv'// 设置只依赖一个系统的library
    s.libraries = 'iconv', 'xml2' // 设置依赖多个系统的library
    // 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
    s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}
    其实我觉得不需要那么麻烦可以删完 需要什么复制修改就好了 当然看你的需求 下面是我的例子 红色表示需要注意的地方

    Pod::Spec.new do |s|

    s.name = "AlertGreenView"
    s.version = "0.0.7"
    s.summary = "用于项目中添加弹框自定义封装AlertGreenView."
    s.homepage = "https://github.com/ZOYOOPlus/AlertGreenView"
    s.license = { :type => "MIT", :file => "LICENSE" }
    s.author = { "tangyuanby2" => "tangyuanby2@163.com" }

    # s.social_media_url = "http://www.taby2.com/"
    s.platform = :ios, "7.0"
    s.source = { :git => "https://github.com/ZOYOOPlus/AlertGreenView.git", :tag => "#{s.version}" }
    s.source_files = "AlertGreen/**/*.{h,m}"

    s.requires_arc = true

    # s.dependency "JSONKit", "~> 1.4"

    end


    然后我们设置下tag号 然后推送到git

    $ git commit -m "说明"
    $ git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
    $ git push --tags
    $ git push origin master

    我们来验证下他是否符合要求。

    pod lib lint "podspec名字".podspec --allow-warnings

    错误的示范:版本问题 我设置为0.1 出错,按照要求应该是 三位 0.0.1 切记各位  

    若我们看

    “你的podspec名字” passed validation
    说明这个配置文件是没问题的。

    若失败了。
    我们就需要将远程tag删除 重新来过

    git push origin :refs/tags/"上一次设置的tag号"

    在验证通过之后我们需要将代码提交到cocopods

    pod trunk push "你的podspec名字".podspec --allow-warnings

    如果没有出错 我们就算大功告成了。

     提示: 如果代码编译不通过  也会报错,所以记得检查代码

    通过pod search "项目名"去搜索你的第三方库吧。

    最后::::

    将我们的gitHub仓库代码配置CocoPods支持的时候

    执行最后一步命令:

    pod trunk push 工程名.podspec

    报错如下:

    [!] You need to register a session first.

    解决方案命令如下:

    pod trunk register 电子邮箱 '您的姓名' --description='macbook pro'

     

    结束战斗

     最后需要等一段时间 然后就可以 查询 和 pod install 了 

  • 相关阅读:
    php的基础知识(三)
    php的基础知识(二)
    css的基础用法(下)
    css的基础用法(上)
    Conceptual blockbusting--chap7 Kinds of blockbusters
    Conceptual blockbusting--chap6 Alternate thinking languages
    Conceptual blockbusting--chap5 Intellectual and Expressive blocks
    Conceptual blockbusting--chap4 Cultural and Environmental blocks
    Conceptual blockbusting
    Conceptual blockbusting- chap2 perceptual blocks
  • 原文地址:https://www.cnblogs.com/tangyuanby2/p/7339725.html
Copyright © 2011-2022 走看看