• SDK提交到CocoaPods


     一:GitHub新建仓库,并clone到本地

    1、注册GitHub账号并登录 
    2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license)

     创建完成如下图:

    3、检出仓库

    新建一个文件夹SDK:

    打开终端:

    将FireRadarSDK文件夹拖进SDK里的克隆后的FireRadarSDK文件夹中

    关掉终端,重新打开,切换到git仓库目录

    cd /Users/huangzengsong/SDK/FireRadarSDK

    二:更新CocoaPods版本

    查看cocoapods的版本号

    pod  --version

    确保cocoapods的版本号大于0.33,如果不大于需要先更新版本(无论版本号多大最好都更新一下)

    sudo gem install cocoapods

    注册Trunk账户(邮箱地址建议写成github注册的邮箱,用户名写成github对应的用户名)

    pod trunk register 邮箱地址 '用户名' --verbose

    注册命令执行完之后,对应的邮箱地址会收到一封邮件,“请确认您的注册CocoaPods通过点击以下链接:”,打开链接地址完成验证,如果地址不能点击就直接粘贴URL到浏览器上执行 

    查看自己的注册信息

    pod trunk me

    三:新建.podspec文件

    pod spec create FireRadarSDK

    注意:将代码提交到CocoaPods最容易出错的地方就是该.podspec文件,有可能多一个键或者少一个键、写错一个值都有可能在提交时出错,这里给出一份我的库中的,建议将我的.podspec文件拷贝一份,然后修改每个键对应的值,一般.podspec文件名和仓库的名字一致

    Pod::Spec.new do |s|
    s.name = 'FireRadarSDK'
    s.version = '2.0.0'
    s.summary = '安全反欺诈SDK'
    s.description = '利用大数据处理,人工智能进行安全预警'
    s.homepage = 'https://github.com/huangzs/FireRadarSDK'
    s.social_media_url = 'http://www.fireradar.com.cn/'
    s.license= { :type => 'MIT' }
    s.author = { 'huangzs' => '759952579@qq.com' }
    s.source = { :git => 'https://github.com/huangzs/FireRadarSDK.git', :tag => s.version }
    s.source_files = 'FireRadarSDK/FRSDK.framework/Headers/*.{h}'
    s.vendored_frameworks = 'FireRadarSDK/FRSDK.framework'
    s.platform = :ios, '8.0'
    s.frameworks = 'UIKit'
    s.requires_arc = true
    s.dependency 'AFNetworking', '~> 3.1.0'
    s.dependency 'FMDB', '~> 2.7.2'
    s.dependency 'AvoidCrash', '~> 2.3.0-beta'
    end

    s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错

    s.version:版本号

    s.ios.deployment_target:支持的pod最低版本

    s.summary: 简介 s.homepage:项目主页地址

    s.license:许可证 s.author:作者

    s.social_media_url:社交网址

    s.source_files:需要包含的源文件

    s.resources: 资源文件

    s.requires_arc: 是否支持ARC

    s.dependency:依赖库,不能依赖未发布的库,如 s.dependency = ‘AFNetworking’ s.dependency:依赖库,如有多个可以这样写

    source_files:写法及含义建议大家写第一种或者第二种

    "FireRadarSDK/* "

    "FireRadarSDK/FireRadarSDK/*.{h,m}"

    "FireRadarSDK/**/*.h"

    • “*” 表示匹配所有文件
    • “*.{h,m}” 表示匹配所有以.h和.m结尾的文件
    • “**” 表示匹配所有子目录

    四、提交工程到git,并打tag2.0.0版本

    (.podspec, LICENSE 这两个文件必须提交到git上)

     

    git add .

    git commit -m "2.0.0"

    git push

    git tag 2.0.0

    git push --tags

     

     

    如果在操作过程中想删除tag,可以使用如下命令(删除tag不属于整个过程的步骤,这里只是提供删除tag的命令,在需要使用时可以查看):

    git tag // 查看tag 
    git tag -d 2.0.0 //删除一个指定的tag 
    git push origin :refs/tags/2.0.0 // push到远程tag

     

    五、 提交之前先验证.podspec文件是否合法

    pod spec lint FireRadarSDK.podspec

    有警告暂时不影响,下面提交用--allow-warnings忽略他们

    六、提交.podspec文件到trunk中

    pod trunk push FireRadarSDK.podspec

    因为有警告 可以用下面的

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

    只要验证通过,提交时一般没有什么问题, 一般会卡在“Updating spec repo ‘master’”, 这时不要关闭终端,要等,根据网络不同提交时可能要花几分钟时间,甚至是10分钟都有可能,成功如下图

    七、重置cocoapods

    pod setup

    八、查找提交成功的库

    pod search FireRadarSDK

     

    如果查不到会报错如下

     

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

     

    解决方案: 先删除search_index.json文件,然后再search (文件不存在时会自动下载,根据不同的网络可能要花一会时间,要等)

     

    rm ~/Library/Caches/CocoaPods/search_index.json 

     

    pod search FireRadarSDK

     

    九、从cocoapods移除刚才的框架

    (移除框架不属于整个过程的步骤,这里只是提供移除框架的命令,在需要使用时可以查看)

     

    pod trunk delete FireRadarSDK 2.0.0

  • 相关阅读:
    powershel学习(1)
    JS作用域链(转载)
    C# 对QuotedPrintable进行解码的方法
    SortedList、SortedSet、HashSet、Hashtable、Dictionary、SortedDictionary 排序/可重复排序/过滤重复排序等简单对比
    .net windows 服务中返回服务的安装目录
    c# 中图像的简单二值化处理
    windows下开多个CMD窗口多个进程输出
    生命游戏
    PowerDesigner工具简介
    七大面向对象设计原则(转)
  • 原文地址:https://www.cnblogs.com/huangzs/p/8087376.html
Copyright © 2020-2023  润新知