@TOC制作带有.a文件的CocoaPods
制作带有.a文件的CocoaPods踩过的坑
上一章记录了如果创建一个正常的不带有依赖项的CocoaPods
使用CocoaPods建立自己的私有库(MacOS)
这章记录在制作带有.a文件的CocoaPods遇到的一些坑。
先上podspec文件
s.source_files = 'MyMathPod/Classes/**/*' #所有的源文件
s.public_header_files = 'MyMathPod/Classes/*.h', 'MyMathPod/macOSlib/include/*.h' #所有需要公开的头文件
s.private_header_files = 'MyMathPod/Classes/Private/*.h #私有头文件(如果有)
s.vendored_libraries = 'MyMathPod/macOSlib/*.a' 对应的.a文件路径,或指定文件名
s.source_files -->所有需要的源文件
s.public_header_files -->所有需要对外公开的头文件
s.private_header_files -->所有不需要对外公开且需要使用的头文件(如果有)
s.vendored_libraries -->需要使用的.a文件路径
Xcode项目结构如下:
问题:
-
如果出现找不到头文件,就需要查看路径配置是否正确✅
-
如果出现
xcodebuild: ld: warning: ignoring file /Users/xxx/Documents/TestPods/XXX/XXX/macOSlib/libxxx.a, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
偿试在podspec文件中增加
s.static_framework = true s.user_target_xcconfig = { 'VALID_ARCHS' => 'x86_64', #因为我只用于macOS不使用iOS所以这里只考虑x86_64 'OTHER_LDFLAGS' => '-lObjC' }
-
如果仍然还有类似的问题提示,可以在lint的时候使用以下命令
pod lib lint xxx.podspec --use-libraries