pro*_*stm 6 static-libraries cocoapods xcode5
我一直在重构一些代码并创建了一个静态库,我现在正在一些用于少数应用程序的框架中使用.我正在使用cocoapods,并且无法正确地将我的新静态库集成到podspec中.
我发现构建失败了,因为构建中缺少静态库.如果我手动将静态库添加到最终应用程序,框架和应用程序工作正常.构建团队生成应用程序的最终版本,因此我只负责更新框架的podspec.
我是否可以修改pod规范以将静态库设置为在最终应用程序的构建阶段显示的链接库?
更新:
将静态库添加到我的子规范的framework.library属性时,我得到了 library not found for -lMyStaticLib
SUBSPEC供参考:
s.subspec 'MyStaticLibrary' do |msl|
mss.source_files = 'FrameworkSource/My-Static-Library/*.{h,a}'
msl.library = 'MyStaticLib'
msl.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**', 'LIBRARY_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**' }
#msl.frameworks = 'MyStaticLib'
end
Run Code Online (Sandbox Code Playgroud)
更新2:我将属性更改为msl.vendored_libraries = 'MyStaticLib'podspec中的已验证路径.一切似乎都要结束.我仍然遇到构建错误.当我为一个设备构建时(我在为模拟器构建时得到了相同的错误,但对于i386):
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MyStaticLibrary", referenced from:
objc-class-ref in MyFramework(FileInFramework.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我还再次验证,如果我只是去应用程序的构建阶段并遍历Pods文件夹并手动将MyStaticLibrary.a文件添加到它构建的项目中而没有问题.
小智 5
尝试将您的MyStaticLib.a文件重命名为libMyStaticLib.a. 我也遇到了错误,并通过在文件名中library not found for -lMyStaticLib添加前缀来修复它。lib
您绝对可以在 podspec 中添加该框架。查看有关 Podspec 格式的 wiki 条目。
编辑:啊,您要寻找的是0.23.0中添加的vendored_frameworks或。看起来这些还没有被添加到维基百科中。现在就更新!vendored_libraries
| 归档时间: |
|
| 查看次数: |
5013 次 |
| 最近记录: |