Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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_Swift_Xcode_Xcode11 - Fatal编程技术网

Ios 在其他动态框架中使用动态框架的正确方法是什么?

Ios 在其他动态框架中使用动态框架的正确方法是什么?,ios,swift,xcode,xcode11,Ios,Swift,Xcode,Xcode11,问题: 在其他动态框架中使用动态框架的正确方法是什么 (无吊舱或其他包管理器) 问题: dyld: Library not loaded: @rpath/B.framework/B Referenced from: A.framework/A Reason: image not found 我拥有的: A.框架(动态框架) B.框架(动态框架) MainApp.xcodeproj 在我的例子中,我想在一个模块中使用B模块 目前解决以下问题的唯一方法是: 1.在A.fra

问题:
在其他动态框架中使用动态框架的正确方法是什么
(无吊舱或其他包管理器)

问题:

dyld: Library not loaded: @rpath/B.framework/B
      Referenced from: A.framework/A
      Reason: image not found
我拥有的:
A.框架(动态框架)
B.框架(动态框架)
MainApp.xcodeproj

在我的例子中,我想在一个模块中使用B模块

目前解决以下问题的唯一方法是:
1.在A.framework和MainApp中添加B.framework

这个解决方案的问题是,您必须添加两次B.framework,并且必须在两个地方维护它们

我更喜欢什么:
1.在中添加B.framework,只添加A.framework

2.在justMainApp中添加B.framework,并在其他框架中使用B.framework

是否有可能实现这些目标之一

对我来说失败的其他“解决方案”:
1.链接B.framework+在A.framework中为
$(builded\u PRODUCTS\u DIR)/B添加“运行路径搜索路径”


2.链接A.framework中的B.framework+创建“复制文件阶段”,并在MainApp中复制B.framework+新运行脚本,其中包含A.framework及其依赖项的代码签名脚本

这应该可以正常工作,如果A和B都是动态的,那么如果您只是将B添加到A并构建它(它不应该编译,它只是一个依赖项)然后在主应用程序中导入A,当您构建时,它将失败,表示您需要将B导入主应用程序itself@AngryDuck是的,它是这样工作的,但我正在寻找一种解决方案,在a或MainApp中只添加B一次。所以我不必在A和MainApp中都维护B。例如,Basy.Frand在Apple和MeNapp中添加,或者只是添加到MIApp中,但是在这种情况下,它实际上不在A中,A仅仅依赖于框架的特定版本,所以任何应用程序都需要使用框架的正确版本及其依赖性。on@AngryDuck确切地但问题是,我不能在没有链接的情况下为a中的B添加依赖项,而要链接它,我必须在a中添加B。我认为你不理解这是如何工作的。。。。你没有在两个地方维护它,你在你的主应用程序中依赖它,因为你的框架需要它,你只在一个地方(框架)维护框架更改时,你需要更新应用程序,因为它正在使用框架。。。。