在我的公司,我们正在使用一些第三方静态库,它带有一个"包装器"我想为它创建一个pod。我们有两个版本的静态库,用于模拟器和设备。包含我要包含在pod中的文件的文件夹如下所示:
Engine
|
|- libEngine.a
|
|- libEngine-Simulator.a
|
|- Engine.h
|
|- EngineWrapper.h
|
|- EngineWrapper.mm
|
|- SomeOtherFile.bin
现在,因为:
armv7
EngineWrapper.mm
不使用ARC CLANG_CXX_LIBRARY
设置为libstdc++
和SomeOtherFile.bin
需要"看到" Engine.h
,我的podspec的相关部分看起来像是:
s.requires_arc = false
s.source_files = 'Classes/ios/Engine'
s.preserve_path = 'Classes/ios/Engine/SomeOtherFile.bin', 'Classes/ios/Engine/libEngine-Simulator.a', 'Classes/ios/Engine/libEngine.a'
s.vendored_libraries = 'Classes/ios/Engine/libEngine-Simulator.a', 'Classes/ios/Engine/libEngine.a'
s.xcconfig = { 'CLANG_CXX_LIBRARY' => 'libstdc++', 'VALID_ARCHS' => 'armv7' }
这只是我尝试的数百种组合/不同设置中的一种。如果你愿意,我可以提供更多的例子。但是,无论我尝试什么,在尝试构建时都会出现以下错误:
架构armv7的未定义符号
我尝试了Pods.xcodeproj
中的所有设置,但我在那里看不到可疑的东西(但同时我对Cocoapods的工作方式并不熟悉)。
其中,我试图:
Classes/ios/Engine
路径)vendored_libraries
VALID_ARCHS
设置我还看到了几个使用静态库的podspec示例,但没有运气..
我正在使用Cocoapods ver 0.32.1。
如果您对可能出现的问题有所了解,请在我失去理智之前告诉我。谢谢!