Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在具有cocoapods依赖项的项目中仅输出单个静态库_Ios_Objective C_Dependencies_Static Libraries_Cocoapods - Fatal编程技术网

Ios 在具有cocoapods依赖项的项目中仅输出单个静态库

Ios 在具有cocoapods依赖项的项目中仅输出单个静态库,ios,objective-c,dependencies,static-libraries,cocoapods,Ios,Objective C,Dependencies,Static Libraries,Cocoapods,我试图构建一个静态库,该库在pod文件中指定了不同的依赖项(例如AFNetworking)。该项目有一个静态库目标,它将生成一个静态库(称为libMyProject.a)供我们的客户使用。我希望所有cocoapods依赖项都包含在最终的静态库中(调用libMyProject.a)。但是每个cocoapods依赖项都会生成一个.a文件,我如何将它们构建在一起,并且只为我们的客户提供一个库供使用。一旦您创建了包含其他库的静态库,您就可以通过传递cocoapods管理依赖项的机制来有效地实现。你确定这

我试图构建一个静态库,该库在pod文件中指定了不同的依赖项(例如AFNetworking)。该项目有一个静态库目标,它将生成一个静态库(称为libMyProject.a)供我们的客户使用。我希望所有cocoapods依赖项都包含在最终的静态库中(调用libMyProject.a)。但是每个cocoapods依赖项都会生成一个.a文件,我如何将它们构建在一起,并且只为我们的客户提供一个库供使用。

一旦您创建了包含其他库的静态库,您就可以通过传递cocoapods管理依赖项的机制来有效地实现。你确定这就是你想要做的吗

也就是说,考虑到您的静态、包罗万象的库,您只需要将它放在一个可访问的位置,以便cocoapod可以下载它,并在您的pod文件中包含一个pod声明

在podfile中,您还可以声明希望从给定库安装的版本。例如,要指定SomeLibrarySDK的版本4.0,可以说:

pod'SomeLibrarySDK',“~>4.0”


其效果是,即使发布了较新版本,您的项目中也只会下载并安装SomeLibrary SDK的4.0版。

我不希望修改外部的第三个库。我明白了。您不需要将第三方库打包到自己的库中,以防止它们被修改。相反,在你的podfile中,你可以指定一个你将从给定库中使用的版本,Cocoapods不会安装最新版本。我在答案中给出了一个例子。我想你没有得到它。如果我使用了SomeLibrarySDK,那么用户可以获取源代码并修改代码以获取静态库中的信息。所以在这种情况下,我的第一个建议是适用的——您将通过Cocoapods只应用一个依赖项,这是您自己的、包罗万象的静态库。您将需要使用一个与库对应的依赖项声明。