iOS_制作 cocopods库

文章目录


1.创建项目

在 github 上创建仓库,克隆到本地:

bash 复制代码
git clone https://github.com/mxh-mo/MOOXXX.git

在项目目录下执行:

bash 复制代码
pod lib create <库名称>

进行一些配置的选择:

bash 复制代码
# 希望在那个平台上使用
What platform do you want to use?? [ iOS / macOS ]
 > iOS

# 希望使用什么语言
What language do you want to use?? [ Swift / ObjC ]
 > Swift

# 是否包含 demo 工程在你的库里
Would you like to include a demo application with your library? [ Yes / No ]
 > Yes

# 需要使用哪个测试框架
Which testing frameworks will you use? [ Quick / None ]
 > None

# 需要包含 UI 测试么
Would you like to do view based testing? [ Yes / No ]
 > No

2.配置项目

打开 <项目名>.podspec 文件,对项目进行配置:

bash 复制代码
Pod::Spec.new do |s|
  s.name             = '<库名>'
  s.version          = '<库版本>'
  s.summary          = '<简短描述>'
  s.description      = <<-DESC
<详细描述。。。。。。。。。。。。。。。。。。。。。。。。>
                       DESC
  s.homepage         = '<主页地址>'
  s.screenshots     = '<截图地址1>', '<截图地址2>'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }  # 证书
  s.author           = { 'momo' => '123456@qq.com' } # 作者信息
  s.source           = { :git => '<远程仓库地址>', :tag => s.version.to_s }
  s.social_media_url = '<社交平台地址>'
  s.ios.deployment_target = '10.0' # iOS系统支持的最低版本
  s.source_files = 'MOODemo/Classes/**/*' # 资源文件目录
  s.resource_bundles = { # bundle 打包的资源文件
    'MOODemo' => ['MOODemo/Assets/*.png']
  }
  s.public_header_files = 'Pod/Classes/**/*.h' # 公开的头文件
  s.frameworks = 'UIKit', 'MapKit' # 使用到的系统库
  s.libraries = 'c++', 'bz2', 'iconv', 'z.1.2.8' # 依赖的系统静态库
  s.dependency 'AFNetworking', '~> 2.3' # 依赖的第三方库
end

修改完成后进行验证:

bash 复制代码
pod lib lint --allow-warnings 	# 验证本地库
pod spec lint --allow-warnings	# 验证远端

Tips: --allow-warnings 这个指令用来忽略警告


3.发布

注册账户:

bash 复制代码
pod trunk register <邮箱> '<你的名称>'

打开邮箱验证

bash 复制代码
# 发布公有库
pod trunk push <项目名>.podspec
# 发布私有库
pod repo push <仓库地址> <项目名>.podspec
相关推荐
未来侦察班14 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
锐意无限19 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
符哥200820 小时前
用Apollo + RxSwift + RxCocoa搭建一套网络请求框架
网络·ios·rxswift
Aftery的博客21 小时前
Xcode运行报错:SDK does not contain ‘libarclite‘ at the path
macos·cocoa·xcode
文件夹__iOS1 天前
AsyncStream 进阶实战:SwiftUI 全局消息流极简实现
ios·swiftui·swift
2501_916008891 天前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
忆江南1 天前
Flutter深度全解析
ios
山水域1 天前
Swift 6 严格并发检查:@Sendable 与 Actor 隔离的深度解析
ios
楚轩努力变强1 天前
iOS 自动化环境配置指南 (Appium + WebDriverAgent)
javascript·学习·macos·ios·appium·自动化
游戏开发爱好者82 天前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview