美文网首页iOS开发新发现iOS学习iOS Blog
【最新】上传代码到cocoapod ,自己的框架提供给开发者使用

【最新】上传代码到cocoapod ,自己的框架提供给开发者使用

作者: 猫爪 | 来源:发表于2015-10-17 11:27 被阅读2084次

一、创建的github仓库

1 进入Github网站 www.github.com 登陆自己的账号后


2 建立一个新的仓库 创建新的仓库创建新的仓库


3 填写仓库信息 填写仓库信息填写仓库信息


4 创建完毕后 创建成功创建成功


二、上传代码到创建的仓库

1 选择clone 到本地仓库


mac 电脑中,有github的客户端 github MAC客户端github MAC客户端

进入github网站后,右边栏 cloneclone
也可以用命令终端的
// 代码仓库clone 地址 git clone 
https://github.com/boyXiong/XWSwiftRefreshT.git 


2.编写代码 写入的代码写入的代码


3.创建一个tag 版本 创建一个Tag创建一个Tag

如果这里不会,可以看我的另一篇文章Git tag的使用

http://www.jianshu.com/p/32054f3e415d

4.上传到github 上传到github仓库上传到github仓库


三、向本地git仓库中添加创建Pods依赖库所需文件

1 这个文件需要放在clone 到的本地仓库目录下(需要在终端<code> cd</code> 进入<code>clone</code>的那个目录下)


2 创建 podspec

// 在命令终端 
pod spec create XWSwiftRefreshT

成功后 创建podspec成功创建podspec成功

3 编写 <code>podspec</code> 文件,可以使用<code>Vim</code> ,或者<code>Xcode</code> , <code>Sublime</code>也可以,这是一个<code>Ruby</code>文件

 Pod::Spec.new do |s| 
    # 名称 使用的时候pod search [name] 
    s.name = "XWSwiftRefreshT" 
    # 代码库的版本 
    s.version = "0.1.2" 
    # 简介 
    s.summary = "The easiest way to use pull-to-refresh with Swift2.0 program language." 
    # 主页  
    s.homepage = "https://github.com/boyXiong/XWSwiftRefreshT" 
    # 许可证书类型,要和仓库的LICENSE 的类型一致 
    s.license = "MIT" 
    # 作者名称 和 邮箱 
    s.author = { "boyXiong" => "relv@qq.com" } 
    # 作者主页 s.social_media_url ="http://blog.csdn.net/boyXiong.com/" 
    # 代码库最低支持的版本 
    s.platform = :ios, "8.0" 
    # 代码的Clone 地址 和 tag 版本 
    s.source = { :git => "https://github.com/boyXiong/XWSwiftRefreshT.git", :tag => "0.1.2" } 
    # 如果使用pod 需要导入哪些资源 
    s.source_files = "XWSwiftRefreshT/**/*.{swift}" 
    s.resources = "XWSwiftRefreshT/Icon/xw_icon.bundle" 
    # 框架是否使用的ARC 
    s.requires_arc = true  
end

4 编写完成后,先进行本地检查,使用,如何可以就是绿色,不然会报错

  //pod spec lint [podspec 的路径]
  pod spec lint ./XWSwiftRefreshT.podspec

5 注意 这个命令的检查原理,是调用Xcode app的命令检测如果Mac上安装了<code>两个Xcode</code> 那么他的检查是根据<code>Application/Xcode.app/</code>这种路径来的,两个Xcode 就要确保<code>Xcode.app</code>是最新的正式版本不是测试版本


6 然后可以发送到cocoapod管理了

//pod trunk push [podspec 的路径]
pod trunk push ./XWSwiftRefreshT.podspec

上传到cocoapod成功上传到cocoapod成功

7.到这里如果成功就搜索的到,那么就是说可以成功使用了

 pod search XWSwiftRefreshT
成功搜索到框架成功搜索到框架

个人微信:wrdxxs
个人Github:https://github.com/boyXiong
个人简书主题:cocoa (一起开始写文章吧)
关注我,持续推出新文章

相关文章

网友评论

  • B_C_H:我这可以 搜索到,但是到其他机器上还是搜索不到
  • 山是水的故事:我这边总是提示有几个.h找不到,那几个.h文件时MRC编写的,能不能帮我看下?

    non_arc_files = ['CommonFramework/3rd/JSONKit/*.{h,m}', 'CommonFramework/Network/ASIHTTPRequest/*.{h,m}']

    s.default_subspec = 'All'
    s.subspec 'All' do |spec|
    spec.ios.dependency 'CommonFramework/NonARC'
    spec.ios.dependency 'CommonFramework/ARC'
    end

    s.subspec 'NonARC' do |nonarc|
    arc_header = "CommonFramework/**/*.h", "CommonFramework.h", "CommonDef.h", "CommonImg.h"
    nonarc.source_files = non_arc_files + arc_header
    nonarc.compiler_flags = '-fno-objc-arc'
    nonarc.frameworks = 'CoreGraphics', 'Foundation', 'UIKit', 'ImageIO', 'CFNetwork', 'CoreTelephony','SystemConfiguration','MobileCoreServices'
    nonarc.libraries = 'z', 'c++','sqlite3.0', 'xml2.2'
    nonarc.requires_arc = false
    end

    s.subspec 'ARC' do |arc|
    arc.source_files = 'CommonFramework/**/*.{h,m}', 'CommonFramework.h', 'CommonDef.h', 'CommonImg.h'
    arc.public_header_files = 'CommonFramework/**/*.h', 'CommonFramework.h', 'CommonDef.h', 'CommonImg.h'
    arc.exclude_files = non_arc_files
    arc.prefix_header_file = 'CommonFramework/CommonFramework-Prefix.pch'

    arc.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2'}
    arc.frameworks = 'CoreGraphics', 'Foundation', 'UIKit', 'ImageIO', 'CFNetwork', 'CoreTelephony','SystemConfiguration','MobileCoreServices'
    arc.libraries = 'z', 'c++', 'sqlite3.0', 'xml2.2'
    arc.requires_arc = true
    end
    山是水的故事:@山是水的故事 提示JSONKit.h文件找不到 fatal error: 'JSONKit.h' file not found
  • f1535a71d2d8:第四步 总是报错 - ERROR | [iOS] file patterns: The `source_files` pattern did not match any file. 怎么解决。。。
    猫爪:@浮尘4848 你可以看看,我那个github项目,下载下来,然后,看看我那个podspec 文件,和对应的 代码路径
    f1535a71d2d8:@猫爪 错了 我是知道了 关键是我怎么改都不对 这个应该怎么弄?
    猫爪:@浮尘4848 说明 你那个 podspec 文件中的 s.source_files 写错路径了
  • c2284263c9ba:请问- WARN | xcodebuild: LYFLooper/LYFLooper/LYFLooper.m:241:13: warning: variable 'row' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]应该如何解决?
    猫爪:@Luoyuanfeng 警告,如果你确认没问题,可以使用命令 忽略
  • JonneyDai:写的不错
  • 篮球火:值得研究:smile:
  • wangjun:卡在第四步了,一直校验不通过。
    而且没有错误详细信息,没有指出spec文件具体哪里写错了,求解惑。

    终端报错只有这一句:[!] The spec did not pass validation, due to 2 errors and 1 warning.
    zhiyi:@wangjun 直接push提交pod,然后会有error和warn提示的,不过比较慢
    wangjun:关键是没有任何提示啊,报错语句就那么一句话。
    猫爪:@wangjun 上面说明有 有 2 个 errors 说明是有问题, 根据它提示的错误去修改
  • CoderRyan:还可以,不错。
  • 风了个1:回去细读,收藏了

本文标题:【最新】上传代码到cocoapod ,自己的框架提供给开发者使用

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