创建自己的cocoaPods库
1.查询自己有没有pods账号
pod trunk me
2.注册
pod trunk register
3.创建xxx.podspec文件
Pod::Spec.new do |s|
s.name = 'XJBleSDK'
s.version = '1.0.0'
s.summary = 'A short description of XJBleSDK.'
s.homepage = 'http://gitlab.xroom.net/ios/blesdk'
s.license = 'MIT'
s.authors = {'HEJJY' => '326629321@qq.com'}
s.platform = :ios, '9.0'
s.source = {:git => 'http://gitlab.xroom.net/ios/blesdk.git', :tag => s.version}
s.source_files = 'XJBleSDK/*.{h,m}'
s.requires_arc = true
end
4.检测有没有错误和警告
pod spec lint
5.上传到cocoaPods
pod trunk push 没有警告和错误上传
pod trunk push --verbose --allow-warnings 忽略警告上传
6.pod search 搜索不到 [!] Unable to find a specification for `xxx`
7.pod lib lint
静态库报错报错** BUILD FAILED **
The following build commands failed:
Ld ***/Release-iphonesimulator/App.build/Objects-normal/arm64/Binary/App normal arm64
解决方法在podspec
s.pod_target_xcconfig = {
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64'
}
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
$(SRCROOT) 项目根目录下
$(PROJECT_DIR) 整个项目
ps:往项目里添加文件时,若文件不在工程目录中,而在工程父目录中,可写成 $(SRCROOT)/../XXSDK/XXX.framework。其中 /../ 就是指向父目录。
参考:https://www.jianshu.com/p/bd82cdafeb32
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术