如何为具有静态库目标的项目创建PodSpec?

时间:2013-03-23 22:13:06

标签: ios cocoapods

我有一个Xcode项目(foo),它构建了一个静态库(libfoo.a),其中包含一些重要的前/后构建步骤。传统上,当我在另一个项目中使用这个库时,我将foo.xcodeproj作为子项目添加到我的主项目中,然后在主项目中连接构建依赖项设置。

我希望使用CocoaPods让这更容易,但我不确定它是为此而设计的。我是否应该将foo项目中的构建设置复制到pod规范中,以便CocoaPods可以按照自己的方式构建它?我的前/后构建步骤怎么样?

有关于为封闭源pre-compiled libraries创建Pod的信息,例如TestFlightSDK,但我不想预编译我的库。

4 个答案:

答案 0 :(得分:0)

使用Cocoapods,您无需担心目标本身。它创建一个包含库中所有源文件的新项目,并创建一个包含所有Pod依赖项的libPods.a。

如果使用正确的source_files和public_header_files创建Podspec,它应该可以正常工作。

答案 1 :(得分:0)

使用pre_install hook(0.17文档,语法略有改动),您可以执行所需的任何构建操作。

主仓库不鼓励使用此挂钩,但是对于私有规格,它是受支持的。

答案 2 :(得分:0)

可以使用prepare_command钩子(documentation)并使用CocoaPods使用的ruby gem xcodeproj(xcodeproj site)来改变你的Xcode项目。我不确定,但可能会用它添加构建脚本。

不确定公共存储库中的podspecs是否接受此项。

答案 3 :(得分:0)

似乎已经为您解答了: Create podspec to ship static library

有两种方式显示(作为.a +标题库,或作为.framwerork)

认为.framework是一种首选的分享方式。