美文网首页iOS 开发每天分享优质文章
iOS开发-- 创建podspec文件,为自己的项目添加pod支

iOS开发-- 创建podspec文件,为自己的项目添加pod支

作者: John_LS | 来源:发表于2016-12-29 16:49 被阅读202次

    想让自己封装的组件等支持pod,就要创建podspec文件

    1、上传项目源码

    详细请看:Github 简明教程

    2、创建项目的podspec文件

    用终端命令cd到本地项目目录并执行如下命令:

    pod spec create LSAlert
    

    这时候本地就生成一个LSAlert.podspec文件
    用编辑器打开.podspec文件 (我自己用Sublime Text)

    删除不必要的注释(这里只简单介绍基本用法,所以只用到一部分必须得字段 更多字段请移步http://guides.cocoapods.org/syntax/podspec.html)

    
    
    Pod::Spec.new do |s|
    
      
    
      s.name         = "LSAlert"
      s.version      = "1.0.0"
      s.summary      = "A custom UIAlertView."
    
      
      s.description  = <<-DESC 
                        这是一个自定义的UIAlertView,支持多按钮,无按钮,带图片的展示
                       DESC
    
      s.homepage     = "https://github.com/tianyc1019/LSAlert"
      
    
      s.license      = "MIT"
      
    
      s.author             = { "John_LS" => "tianyc1019@icloud.com" }
      
    
      # s.platform     = :ios
       s.platform     = :ios, "9.0"
    
     
    
      s.source       = { :git => "https://github.com/tianyc1019/LSAlert.git", :tag => "1.0.0" }
    
    
      
    
      s.source_files  = "LSAlert/**/*.{swift}"
      # s.exclude_files = "Classes/Exclude"
    
      
    
    end
    
    
    
    3、验证podspec文件

    编辑完podspec文件后,先打个tag标记

    创建tag
    
    git tag '1.0.0'
    git push --tags
    
    删除tag
    
    //查看tag
    git tag
    //删除一个指定的tag,并上传一个空tag到远程tag
    git tag -d <tagname>
    git push origin :refs/tags/<tagname>
    

    然后再验证下podspec文件是否正确,podspec文件不允许有任何的Warning或者Error
    执行命令,

    pod lib lint
    (也可以用pod lib lint --allow-warnings 来忽略警告)
    

    如果出现

    -> LSAlert (0.0.1)
    
    LSAlert passed validation.
    

    如果出现Error但是提示信息不足,可以添加--verbose 以获取更多错误信息

    $ pod lib lint --verbose
    
    4、使用pod trunk命令,把podspec文件推送到CocoaPod官方库

    pod trunk 需要注册 请移步CocoaPod官网

    注册trunk 需要cocoapod是版本在0.33以上
    执行命令

    pod trunk register tianyc1019@icloud.com 'tianyc1019'  --verbose
    

    邮箱以及用户名请对号入座。用户名我使用的是Github上的用户名。--verbose参数是为了便于输出注册过程中的调试信息。执行上面的语句后,你的邮箱将会受到一封带有验证链接的邮件,如果没有请去垃圾箱找找,有可能被屏蔽了。点击邮件的链接就完成了trunk注册流程。使用下面的命令可以向trunk服务器查询自己的注册信息:

    pod trunk me
    

    如果你的pod是由多人维护的,你也可以添加其他维护者

    pod trunk add-owner xxx@163.com
    

    pod trunk 设置完毕后执行命令

    $ pod trunk push LSAlert.podspec
    

    可以使用--allow-warnings忽略警告

    pod trunk push LSAlert.podspec  --allow-warnings
    

    然后慢慢等着,有点慢

    5、最后

    如果一切顺利,先更新pod依赖库

    pod setup
    
    pod search LSAlert
    

    就可以找到刚才的项目了 并且还有安装命令
    pod 'LSAlert','~>0.0.1'

    最后总结下操作步骤:

    1.你的开源库发布之后,需要打上版本号tag,否则后续不能完成

    2.注册pod trunk

    pod trunk register xxx@xx'Your name' --description='macbook pro'
    

    2.cd到项目目录下,创建podspec文件

    pod spec createYourPodProjectName
    

    3.修改podspec文件中的相关信息,这很重要,校验,不能有任何警告或错误

    pod spec lint YourPodProjectName.podspec
    

    4.发布到pod trunk

    pod trunk pushYourPodProjectName.podspec
    

    5.更新pod库

    pod setup
    

    podspec文件更新方法

    有时你可能会遇到这种情况:执行pod trunk push操作后发现podspec文件的某个地方写错了,想更新一下。对于这种情况,我们可能会先尝试着在把podspec文件push一次。但是如果你的代码版本号没变(podspec里的version自然也没变)就会提示push失败,即使你更改了podspec的其他地方,pod也会认为这两个文件是同一个。 我目前为止找不到trunk的相关update接口,所以只能顺水推舟,更新源代码版本号(如:1.1.1->1.1.2),重新push version tag,然后再执行pod trunk push操作。

    相关文章

      网友评论

        本文标题:iOS开发-- 创建podspec文件,为自己的项目添加pod支

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