iOS cocoaPods 创建私有库时podSpec的书写

我们在进行iOS开发时早就习惯了使用cocoaPods来管理和使用第三方库,但是有的时候我们想自己创建类库供自己或者他人使用,这个时候podSpec的书写就变得尤为关键。这里主要是描述 podSpec如何书写,至于创建私有库的具体步骤以及踩过的坑你可以参考文章结尾的链接,非常详细。
podSpec的创建方法:

  • 用终端命令cd到本地项目目录并执行如下命令:
$ pod spec create VitamioSDK-iOS

这时候本地就生成一个VitamioSDK-iOS.podspec文件,或者去gitHub上拷贝一个podspec文件到自己项目目录下,改变下名字即可。

  • 用编辑器打开.podspec文件
Pod::Spec.new do |s|

  s.name         = "VitamioSDK-iOS"
  s.version      = "1.0.1"
  s.summary      = "Vitamio SDK SDK for iOS"
  s.homepage     = "https://github.com/chenXming/VitamioSDK-iOS.git"
  s.license      = "MIT"
  s.author             = { "chenxiaoming" => "[email protected]" }
  s.ios.deployment_target = "7.0"
 
  s.source        = {:git =>"https://github.com/chenXming/VitamioSDK-iOS.git", :tag =>'1.0.1'}

  s.source_files  = "Vitamio", "Vitamio/include/Vitamio/*.h"
  s.public_header_files = "Vitamio/include/Vitamio/*.h"
  s.vendored_libraries = "Vitamio/*.a"

  s.frameworks = "Foundation","UIKit","AVFoundation","AudioToolbox","CoreGraphics","CoreMedia","CoreVideo","MediaPlayer","OpenGLES","QuartzCore"

  s.libraries = "bz2", "z","stdc++","iconv"
  s.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-lObjC' }

   s.requires_arc = true

常用字段说明:

  • s.name 创建的pod私有库的名称

  • s.version 版本

  • s.summary 库的简单描述

  • s.homepage 库的地址 填写私有库在GitHub上的地址即可

  • s.license 专利声明,一般填写MIT 即可

  • s.author 作者信息 填写方式 { "chenxiaoming" => "[email protected]" } 前面名称后面邮箱 这个用户名邮箱最好是你注册trunk cocoapods 过的。

  • s.ios.deployment_target 支持的平台和版本

  • s.source 源码地址 注意要提前给代码打上tag

  • s.source_files 文件地址 注意是从你的项目目录开始的 文件*.{h,m} 若果只有.h文件可以这样写*.h.

  • s.public_header_files 项目的公共头文件

  • s.vendored_libraries 你的.a文件

  • s.frameworks 依赖的系统frameworks

  • s.libraries 依赖的 libraries

  • s.pod_target_xcconfig xcode 里面Build Settings ->Other Linker Flags设置-ObjC
    如果这里面还是没有你要的参数可以去cococPods的官方地址查找字段:cocoaPods官网
    我的podSpec 地址:Github

  • 具体的创建私有库的步骤看这里:
    http://www.cnblogs.com/XYQ-208910/p/6214066.html
    http://www.cocoachina.com/ios/20160301/15459.html

你可能感兴趣的:(iOS cocoaPods 创建私有库时podSpec的书写)