独立框架

时间:2015-12-04 09:05:53

标签: ios cocoapods afnetworking-2 realm

我正在开发一个项目,在那里我创建了一个包含两个依赖项的SDK(cocoapods) - AFNetworking和Realm。 这是我的过程:

  1. 我创建了cocoapods项目(在此项目代码中可见)
  2. 我使用cocoapods-package构建一个框架(带有错位符号)。
  3. 然后我将此框架复制到另一个cocoapods项目中,该项目将分发给公众。
  4. 想要使用此SDK的用户然后安装'这个cocoapod。当他这样做时,AFNetworking和Realm会同时安装(因为它们是依赖关系)

    我想做的是以某种方式将AFNetworking和Realm嵌入到框架中。我知道框架的尺寸会更大。这样做的主要原因是用户没有义务使用相同版本的AFNetworking和Realm。

1 个答案:

答案 0 :(得分:1)

CocoaPods Packager会自动处理您想要的内容。

  
      
  1. 您可以使用CocoaPods引入第三方依赖项。 (CocoaPods Packager甚至能够修改符号,以提高与集成应用程序中可能出现的任何符号的兼容性。)
  2.   

打包器为您构建开源podspecs。此podspec需要声明所有源,资源和依赖项。请注意,如果没有正确声明所有依赖项,podspecs永远不会lint或build。

但是,当打包器通过修改符号来处理依赖关系时,它允许您创建一个大的二进制文件,其中依赖项包含在静态库中。

在该构建产品的基础上,您可以拥有podspec的修改版本。当它们被包含在内时不应该再声明依赖关系,并且不需要声明源文件或者需要在任何地方公开它们,而是将构建的二进制文件声明为vendored库。这仍然需要指定头文件并使它们可访问,以便podspec的使用者能够连接库的API。
CocoaPods Packager也为您创建了podspec的这个变种。