美文网首页
iOS开发之自己开发的Framework发布到cocoapods

iOS开发之自己开发的Framework发布到cocoapods

作者: pengshuangta | 来源:发表于2019-04-04 15:24 被阅读0次
    一、摘要:

    简单的写了一个framework为了测试自己framework发布的cocoapods的流程,库的功能很简单就是提供一个类方法输出一个“hello world!!”而已,通过github+sourcetree工具管理代码,发布到cocoapods,以下是公有库的发布管理步骤,私有库大同小异。
    废话不多说,先上结果,PSTFramework

    image.png
    二、步骤:

    1、在GitHub上创建一个framework项目的仓库;


    项目.png

    2、使用sourcetree创建一个URL仓库clone自Github上创建的项目;


    复制仓库地址.png
    clone一个本地仓库
    clone下来的代码

    3、将framework库拖入sourcetree本地项目;


    制作的framework编译一下,show in finder黏贴到你的framwwork文件夹下.png
    image.png

    这里如果需要了解如何打包framework和创建调试framework的demo的知识

    4、项目打tag并且push到GitHub仓库中,(注:tag中的版本要与配置podspec文件中的s.version一致,后面会具体提到podspec文件的内容该如何书写);


    注意,所有终端上的命令操作都要在你的这个目录下PSTFramework
    image.png

    步骤:
    (1)打本地tag:git tag 0.0.1
    (2)推送本地tag到远端仓库

    git tag 0.0.1 //打个0.0.1的tag
    
    git tag -d 0.0.1 //删除0.0.1的tag
    
    git push origin :refs/tags/0.0.1 //删除远端仓库的0.0.1的tag
    
    git tag //查看本地所有tag
    
    git push --tags //将tag推送到远程仓库
    

    5、创建一个podspec文件(podspec文件主要是对你的framework的内容的说明和配置),你可以把这个复制替换你用生成的podspec然后,修改成自己项目对应的配置信息;

    // 注 PSTFramework 这个是你框架的名称
    2、pod spec create PSTFramework
    
    Pod::Spec.new do |s|
    #项目名
      s.name         = "PSTFramework"
    #版本号,需要与你git打的tag一致
      s.version      = "1.0.1"
    #项目的一个摘要或简介
      s.summary      = "创建一个输出hello world的Framework"
    #项目支持的最低iOS系统
      s.ios.deployment_target = '9.0'
    #项目的具体描述
      s.description  = <<-DESC
      这就是一个测试,没别的,你信不信?
      DESC
    #项目在github上的地址
      s.homepage     = "https://github.com/pengshuangta/PSTFramework.git"
    #项目的许可证说明,在igithub上创建的时候勾选上的license
      s.license      = { :type => "MIT", :file => "LICENSE" }
    #作者的信息
      s.author             = { "pengshuangta" => "1120160658@qq.com" }
      # Or just: s.author    = "彭双塔"
      # s.authors            = { "彭双塔" => "arthur@soundbus.cn" }
    #项目代码地址
      s.source       = { :git => "https://github.com/pengshuangta/PSTFramework.git", :tag => "#{s.version}" }
    #项目库中需要包含的源文件
      s.source_files  = 'Framework/**/*.{h,m}'
    #公开的头文件
      s.public_header_files = "Framework/**/*.h"
    #是否支持ARC
      s.requires_arc = true
    #这个是找到对应framework的路径,我是放在Framework下的,请按照我的填写来找到对应你自己的填写
      s.ios.vendored_frameworks = 'Framework/PSTFramework.framework'
    
    end
    

    6、验证podspec文件

    // --verbose 如果验证失败会报错误信息
    pod spec lint PSTFramework.podspec --verbose
    

    7、注册Trunk账号(邮箱和用户名),如果已经有账号可以跳过

    # 注册Trunk账号
    pod trunk register XXX@XXX.com '名字' --verbose
    # 检测是否注册过
    pod trunk me
    

    8、提交到Cocoapods发布

    pod trunk push PSTFramework.podspec  --allow-warnings
    

    9、验证是否成功

    pod trunk me
    
    pod trunk me
    三、遇到的问题

    问题1:执行pod trunk push PSTFramework.podspec --allow-warnings成功,且执行 pod trunk me也能显示出来库,但是执行pod search 提示如下:

    [!] Unable to find a pod with name, author, summary, or description matching
    

    问题1解决步骤:
    (1)删除 ~/Library/Caches/CocoaPods 目录下的 search_index.json 文件,终端执行命令:rm ~/Library/Caches/CocoaPods/search_index.json
    (2)执行搜索库命令:pod search ADCDN

    image.png
    解决问题参考链接
    参考链接:

    链接一:主要参考链接,步骤比较完整,也有遇到的错误解决出来方案
    链接二:步骤也是比较完成,配合着链接一参考

    这个是我自己操作过程的步骤,如果小伙伴有遇到什么问题欢迎在评论区共同探讨,我会尽快回复你的。😊

    相关文章

      网友评论

          本文标题:iOS开发之自己开发的Framework发布到cocoapods

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