(CocoaPod)macOS系统安装CocoaPod
2021-10-04 本文已影响0人
布呐呐u
一) 卸载 CocoaPod
- 终端执行如下指令
sudo gem uninstall cocoapods
- 查看已安装与
cocoapods
相关插件
gem list --local | grep cocoapods
- 逐个卸载相关插件(例如 'cocoapods-core' )
sudo gem uninstall cocoapods-core
二) 重新安装CocoaPod
- 终端执行如下指令
sudo gem install -n /usr/local/bin cocoapods
- 查看版本号
pod --version
- 更新本地
.cocoapods/repos
pod repo update --verbose
三) CocoaPod推送组件至远程仓库(cocoapods.org
)
-
制作
framework
注意事项-
Build Settings
-Architectures
Architectures
-
Build Settings
-Linking
Linking
-
-
cd 至
HandyScanner.podspec
文件根目录
1)本地校验HandyScanner.podspec
文件内容规范性
pod lib lint --verbose --allow-warnings
2)联网校验远程组件仓库tag版本与本地待发布版本tag一致性
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
经实践,此处打完tag,需等待若干分钟,否则总是报错提示"找不到对应tag的release版本"
pod spec lint --verbose --allow-warnings
3)发布 / 更新组件 至 CocoaPods 仓库(cocoapods.org
)
pod trunk push HandyScanner.podspec --verbose --allow-warnings
- 若工程有私有静态库,则需要
追加
如下指令
--skip-import-validation
- 经实践,此处发完版本以邮箱下发通知为准,使用
pod search HandyScanner
有可能搜索不到最新版本;(原因大多为cocoapod本地缓存及cocoapods.org
服务器时差);可浏览器打开官网,搜索验证此时版本号没有立即更新;
待更新后,cd 至任意pod管理的工程中,填写刚发布的最新版本,
pod 'HandyScanner', '0.2.9'
,终端执行如下指令,很大几率可有效解决此问题;
pod install --repo-update
4)从 CocoaPods 仓库(cocoapods.org
)删除组件 (指定版本
)
pod trunk delete HandyScanner 0.0.1
5)HandyScanner.podspec 格式及内容
Pod::Spec.new do |spec|
spec.name = "HandyScanner"
spec.version = "0.2.8"
spec.license = "MIT"
spec.summary = "A lightweight scanning component based on system API in Swift5"
spec.description = <<-DESC
No memory leaks, Support scaling, Support light sense to automatically turn on the flash, Support auto zoom, Support custom UI.
DESC
spec.author = { "Charlie" => "13204117850@163.com" }
spec.homepage = "https://github.com/a51095/HandyScanner"
spec.source = { :git => "https://github.com/a51095/HandyScanner.git", :tag => spec.version }
spec.requires_arc = true
spec.swift_version = "5.0"
spec.platform = :ios, "11.0"
spec.ios.deployment_target = "11.0"
spec.static_framework = true
spec.ios.vendored_frameworks = 'lib/HandyScannerSDK.framework'
spec.source_files = "lib/HandyScannerSDK.framework/**/*"
spec.public_header_files = 'lib/HandyScannerSDK.framework/Headers/HandyScannerSDK-Swift.h'
# ======================================================
# spec.ios.exclude_files = 'lib/xxxx.dec' (忽略的文件)
# spec.source_files = 'lib/HandyScannerSDK.framework/**/*'(资源文件)
# spec.public_header_files = 'lib/HandyScannerSDK.framework/Headers/HandyScannerSDK-Swift.h'(Object-C暴露头文件)
# ======================================================
#💡💡💡😈💡💡💡
# * 匹配所有类型文件
# *.{h,m} 匹配所有以 .h 和 .m 结尾的文件
# ** 匹配所有子目录
#💡💡💡😈💡💡💡
end