CocoaPods问题:
我创建了一个框架,其中绑定(bind)了一个静态库,具体取决于AFNetworking和资源 bundle 包(基于这两个教程来创建FWK http://www.blackjaguarstudios.com/blog/programming/2012/11/22/xcode-45-creating-ios-framework-and-hold-my-hand-im-3-years-old和https://github.com/bclubb/iOS-Framework)
我很想创建一个podspec,这样人们就可以在他们的Podfile中添加一行,然后在pod安装时添加我的框架和AFNetworking(如果需要)。
这可能吗?
最佳答案
实际上,我在办公室做了很多工作。我们有大量的私有(private)源代码可以重复使用。 CocoaPods帮助更快地启动了新项目,并使它们更容易更新。
虽然可以将您的框架添加到podspec,但我发现通过CocoaPods传递静态库和 header 要容易得多,而不必担心框架。
您将必须根据您的项目更新podspec,但是以下是重要部分:
s.source_files = 'StaticLib/Headers/*.h'
s.preserve_paths = 'StaticLib/libYourLibrary.a'
s.library = 'YourLibrary'
s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '$(PODS_ROOT)/ProjectFolder/LibraryFolder' }
s.dependency = 'AFNetworking'
这将复制您的静态库,也将AFNetworking与您的Pod一起使用。这将使您的静态库变得更小(不必内置),并加快了用户可以导入您的pod的速度。
如果必须使用框架,那么上面的内容仍然适用,但是您可能需要做一些细微的调整。所有框架都是用于静态lib和 header 的漂亮文件夹结构,所以为什么要花些多余的钱呢。无论如何,源仍然全部内置在lPods.a静态库中。希望这可以帮助你。
关于objective-c - CocoaPods/Podspec和* .framework,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14102703/