Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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框架,嵌入其他框架或库?_Ios_Objective C_Xcode_Swift_Xcode6 - Fatal编程技术网

iOS框架,嵌入其他框架或库?

iOS框架,嵌入其他框架或库?,ios,objective-c,xcode,swift,xcode6,Ios,Objective C,Xcode,Swift,Xcode6,因此,在Xcode 6中,我们终于有可能创建和分发我们自己的库作为框架(而不是以前的静态库) 问题是,是否可以将另一个框架或库直接“嵌入”到框架中,而不是让最终用户链接它们 原因如下:为其他人创建和分发框架通常需要他们手动添加我们链接的框架。 当这些库是可以直接从Xcode添加的默认库时,这很好,但是当我们需要链接到其他公共框架时。 一个例子是,如果框架使用AWS作为后端,那么要求开发人员也下载特定版本的SDK并根据所需的特定位进行链接就有点过分了。当我们需要其他人来记录性能或更多时,它就变得更

因此,在Xcode 6中,我们终于有可能创建和分发我们自己的库作为框架(而不是以前的静态库)

问题是,是否可以将另一个框架或库直接“嵌入”到框架中,而不是让最终用户链接它们

原因如下:为其他人创建和分发框架通常需要他们手动添加我们链接的框架。 当这些库是可以直接从Xcode添加的默认库时,这很好,但是当我们需要链接到其他公共框架时。 一个例子是,如果框架使用AWS作为后端,那么要求开发人员也下载特定版本的SDK并根据所需的特定位进行链接就有点过分了。当我们需要其他人来记录性能或更多时,它就变得更过分了

在OSX上,可以使用伞形框架,但在iOS上没有记录


谢谢。

最近我自己在iOS上做了这件事,不幸的是,任何有子框架的框架也必须链接到父框架使用的项目中

按照常规创建框架,并包括该框架下的其他框架(它应该是聚合目标)

然后构建父框架,并将其链接到主项目中。尝试编译,它会提到它需要it子框架也链接。然后,您还可以链接这些子框架,它将编译


不幸的是,这是目前Xcode/iOS的一个限制

Cocoapods是一种针对其他框架的链接解决方案。不知道是否适用,但我强烈推荐。谢谢。确实,当在椰子荚上分发时,这不是一个问题。不过,当它作为一个可下载的独立框架分发时,就需要使用它了。谢谢。我已经为静态库及其包(图像、控制器等)完成了这项工作。当数字很小时,这很好。问题是,当使用另一个框架(在本例中为AWS)时,目标应用程序也可能已经有了AWS支持,而且这个数字太高,我们的框架将很难实现。我想知道是否有更好的解决方案?您可以使用Cocoapods或Carthage更轻松地管理依赖项,然后您的框架的最终用户只需指定所有框架名称和版本,而不是手动添加每个。我喜欢此解决方案。这样一来,任何想要使用包装我的框架的项目都必须包括我的框架:)这在2020年仍然成立吗?我在控制台中得到了大量的“类…在这两个中都实现了…将使用其中一个”打印