使用CocoaPods开发并打包静态库(framework&a)

  1. 使用pod命令创建library工程(以GTAsiHttpRequest为例)
pod lib create GTAsiHttpRequest 
  1. 会问一些问题,输入后自动创建cocoapod工程,并且自动打开其中的Example工程


    使用CocoaPods开发并打包静态库(framework&a)_第1张图片
  2. 创建完的整个目录结构如下


    使用CocoaPods开发并打包静态库(framework&a)_第2张图片
  3. 其中以下几个文件需要注意一下
    LICENSE defaulting to the MIT License.
    GTAsiHttpRequest.podspec the Podspec for your Library.
    README.md a default README in markdown.
    RemoveMe.swift/m 把这些文件替换成你自己的源码
    GTAsiHttpRequest目录 放置你library工程源码的地方
    Example目录 自动生成的Demo实例和测试例子
  4. 编辑GTAsiHttpRequest.podspec、License、readme三个文件, 其中podspec文件的详细说明可以看Podspec Syntax Reference
Pod::Spec.new do |s|
  s.name             = 'GTAsiHttpRequest'
  s.version          = '0.0.2'
  s.summary          = 'just build the AsiHttpRequest to framework'

  s.description      = <<-DESC
1.static framework of AsiHttpRequest.
2.don't change any src.
3.don't include ASIWebPageRequest and CloudFiles function.
4.just support Objective-C.
                       DESC

  s.homepage         = 'https://github.com/kaikai5545/GTAsiHttpRequest'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'wrk' => '[email protected]' }
  s.source           = { :git => 'https://github.com/kaikai5545/GTAsiHttpRequest.git', :tag => s.version.to_s }
  s.ios.deployment_target = '7.0'
  s.source_files = 'GTAsiHttpRequest/Classes/**/*'
  s.public_header_files = 'GTAsiHttpRequest/Classes/*.h'
  s.frameworks = "CFNetwork", "SystemConfiguration", "MobileCoreServices", "CoreGraphics"
  s.library = "z.1.2.5"
  s.requires_arc = false
end
  1. 将ASIHTTPRequest的代码拷贝到GTAsiHttpRequest/Classes目录下(根据自己libarary需求)


    使用CocoaPods开发并打包静态库(framework&a)_第3张图片
  2. 进入Example目录执行pod install,然后可以编写一下测试demo和用例


    使用CocoaPods开发并打包静态库(framework&a)_第4张图片
  3. 在github上创建GTAsiHttpRequest工程,路径要和podspce中的s.source对应,如
s.source           = { :git => 'https://github.com/kaikai5545/GTAsiHttpRequest.git', :tag => s.version.to_s }
  1. 初始化git工程,创建tag,上传到github,tag版本号要和s.version对应
    创建tag

    使用CocoaPods开发并打包静态库(framework&a)_第5张图片
    同步到服务器

    对应s.source
  2. 验证类库,pod lib lint或pod spec lint(区别是后者会联网检测)


    使用CocoaPods开发并打包静态库(framework&a)_第6张图片
  3. 打包类库
sudo gem install cocoapods-packager
pod package GTAsiHttpRequest.podspec --force

使用CocoaPods开发并打包静态库(framework&a)_第7张图片
--force标示强制覆盖

通过以上命令就可以打包出framework,如果需要打包成.a静态库,需要加 --library , 打包好的目录结构为
使用CocoaPods开发并打包静态库(framework&a)_第8张图片

需要特别强调的是,该插件通过对引用的三方库进行重命名很好的解决了类库命名冲突的问题

GTHttpRequest源码

参考文章列表:

Using Pod Lib Create
使用CocoaPods开发并打包静态库

你可能感兴趣的:(使用CocoaPods开发并打包静态库(framework&a))