美文网首页
iOS组件化 Cocoapods管理自己的库

iOS组件化 Cocoapods管理自己的库

作者: 青椒辣不辣 | 来源:发表于2019-02-15 20:07 被阅读0次

    github 创建仓库

    new 一个 repository


    创建仓库

    clone 到本地 并初始化工程

    创建.podspec文件

    $pod spec create 工程名
    
    创建.podspec文件

    文本编辑打开.podspec文件

      Pod::Spec.new do |s|
    
      s.name         = "RJMyPod"
      s.version      = "0.0.1"
      s.summary      = "A iOS Fast integration of custom classifications, macro definitions and tool classes"
      s.homepage     = "https://github.com/Jack424/RJMyPod.git"
      s.license      = "MIT"
      s.author       = { "Jack_Gu" => "gu_ruijie@163.com" }
      s.platform     = :ios, "9.0"
      s.source       = { :git => "https://github.com/Jack424/RJMyPod.git", :tag => s.version}
      s.source_files = "RJMyPod/RJMyPod/MyPod/*.{h,m}"
      s.requires_arc = true
     s.resources    = "RJCategoryTool/RJCategoryTool/RJCategoryTool/Resource/*.{png,xib,nib,bundle,json}"
    end
      s.dependency 'Masonry'
      
      # s.resources    = 'PhotoBrowser/resource/*.{png,xib,nib,bundle}'
      # s.frameworks   = 'UIKit','Photos','PhotosUI'
      # s.dependency 'UMengUShare/Social/ReducedWeChat', '~> 6.4.8.2'
    end
    
      s.name          :工程名
      s.version       :版本号
      s.summary       :简介概述
      s.homepage      :github项目网页 
      s.license       :授权许可文件 
      s.author        :代码作者
      s.platform      :支持最低的版本号
      s.source        :git代码下载地址
      s.source_files  :!重要 ! 你要传到cocoapods的文件内容  
      s.resources     :资源文件,没有可忽略
      s.requires_arc  :是否是ARC 
    

    注意:s.source_files 下层级目录一定是podspec所在层级的文件名开始到你要上传的文件目录为止 *.{h,m} 表示匹配所有以.h和.m结尾的文件 ** 表示匹配所有子目录 若所上传文件夹有子级文件则在文件名后追加 **/*.{h,m}

    解决[-Werror,-Wnon-modular-include-in-framework-module]错误, .h文件中引用第三方库 #import <Masonry/Masonry.h>,使用尖括号引用

    上传过程中遇到问题就细心检查一下

    $ git add --all
    $ git commit -m "操作内容"
    $ git tag "0.0.1"
    $ git push --tags
    $ git push origin master
    

    验证上传是否合法

    $ pod spec lint --allow-warnings
    
     -> RJMyPod (0.0.1)
        - NOTE  | xcodebuild:  note: Using new build system
        - NOTE  | [iOS] xcodebuild:  note: Planning build
        - NOTE  | [iOS] xcodebuild:  note: Constructing build description
        - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')
    
    Analyzed 1 podspec.
    
    RJMyPod.podspec passed validation.
    

    出现成功提示后就trunk上传,如果没有没有注册过需要首次注册

    $ pod trunk register 邮箱 '用户名' --description='描述一下下'
    

    邮箱及用户名以你GitHub的为准
    提交指令后需要去邮箱验证,点击或复制邮箱邮件内的链接会显示

    邮件内容

    自我验证

    $ pod trunk me
    
    - Name:     Jack424
      - Email:    gu_ruijie@163.com
      - Since:    September 18th, 2017 21:46
      - Pods:
        - GRJKit
        - GRJMITKit
        - RJCategoryTool
      - Sessions:
        - September 18th, 2017 21:46 - January 25th, 2018 01:13. IP: 120.236.169.38
        Description: macbook pro
        - February 14th, 20:57       -         June 23rd, 05:36. IP: 27.115.4.10   
        Description: 描述一下下
    

    提交

    $ pod trunk push --allow-warnings
    
    上传pod成功

    使用一下

      pod 'RJMyPod'
    
    $ pod install
    
    试一试

    大功告成

    相关文章

      网友评论

          本文标题:iOS组件化 Cocoapods管理自己的库

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