前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CocoaPod 私有库Spec编辑注意事项

CocoaPod 私有库Spec编辑注意事项

原创
作者头像
莫空9081
修改2021-06-07 14:30:16
2.4K0
修改2021-06-07 14:30:16
举报
文章被收录于专栏:iOS 备忘录iOS 备忘录

CocoaPod 私有库Spec编辑注意事项

代码语言:txt
复制
Pod::Spec.new do |s|

  # 库名称
  s.name             = 'AudioRecorder'
  
  # 库的版本
  s.version          = '0.1.0'
  
  # 库摘要
  s.summary          = 'AudioRecorder提供iOS录音和录音播放功能'

  # 库描述
  s.description      = <<-DESC
						AudioRecorder提供iOS录音和录音播放功能
                       DESC
  # 远程仓库地址
  s.homepage         = 'https://github.com/xxx'
  
  # 截图
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  
  #  MIT许可证,软件授权条款
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  
  # 作者信息
  s.author           = { 'MorganWang' => 'xxx@163.com' }
  
  # 支持的系统及支持的最低系统版本
  # s.platform     = :ios
  # s.platform     = :ios, "8.0"

  # 支持多个平台使用时
  s.ios.deployment_target = "10.0"
  # s.osx.deployment_target = "10.7"
  # s.watchos.deployment_target = "2.0"
  # s.tvos.deployment_target = "9.0"

  # 下载地址
  s.source           = { :git => 'xxx.git', :tag => s.version.to_s }

  # 库文件在仓库中的相对路径
  # 等号后面的第一个参数表示的是要添加 CocoaPods 依赖的库在项目中的相对路径
  # 等号后面的第二个参数,用来指示文件夹下的哪些文件需要添加 CocoaPods 依赖
  # “**”通配符表示文件夹下的所有文件,“*.{h,m}”代表所有的.h, .m文件
  s.source_files = 'WPSAudioRecorder/Classes/**/*'
  
  # 设置不需要添加到 CocoaPods 的文件
  # s.exclude_files = "xxx/Exclude"
  
  # https://blog.csdn.net/w_shuiping/article/details/80606277
  # CocoaPods中依赖的第三方.a或者.framework库
  s.vendored_libraries = 'WPSAudioRecorder/Classes/lame/*.a'
  
  # s.resource_bundles = {
  #   'WPSAudioRecorder' => ['WPSAudioRecorder/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  
  # 库中用到的框架或系统库
  s.frameworks = 'UIKit', 'Foundation', 'AVFoundation'
  
  # 库中依赖的其它CocoaPods的第三方库,依赖多个写多个s.dependency
  s.dependency 'Masonry', '~> 1.1.0'
end

库校验

代码语言:txt
复制
pod lib lint --allow-warnings

使用

使用tag或者使用分支,通常使用tag,因为tag代表功能的完整性。如果使用分支,随后在分支上继续开发,然后再次update依赖时,可能会出现新开发的内容未验证就被更新了或者不兼容的情况

代码语言:txt
复制
  pod 'xxx',:git=>'xxx.git',:tag=>'0.7.0'
  pod 'yyy',:git =>'yyy.git',:branch=> 'develop'

pod lib lint repo push不支持i386编译&只能真机运行的库

  • 在 podspec 文件中添加 s.pod_target_xcconfig = { 'VALID_ARCHSsdk=iphonesimulator*' => '' },如果项目已经设置 pod_target_xcconfig,添加到已有值的后面。设置此处将在 模拟器编译时不产生二进制文件。
  • VALID_ARCHS 的描述
  • pod lint 命令添加 --skip-import-validation 参数,lint 将跳过验证 pod 是否可以导入。
  • pod lint 命令详情链接
  • pod repo push 命令添加 --skip-import-validation 参数,push 将跳过验证 pod 是否可以导入。

• pod repo push 命令详情链接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CocoaPod 私有库Spec编辑注意事项
    • 使用
      • pod lib lint repo push不支持i386编译&只能真机运行的库
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档