在另一个项目中满足框架的依赖性

时间:2019-02-27 18:41:56

标签: swift xcode cocoa-touch

我正在开发iOS框架。我的开发环境是一个内部包含框架项目的iOS应用程序项目,然后将该框架的产品添加到应用程序的“嵌入式二进制文件”和“链接的框架和库”部分。

先前的设置工作正常,但是我正在使用的此特定框架需要另一个框架才能运行。我已经通过迦太基安装了该框架,并将其添加到基本应用程序的项目(“嵌入式二进制文件”和“链接的框架和库”)中,然后再添加到框架的项目“链接的框架和库”。

但是,当我运行应用程序时,出现以下两个错误(FrameworkOne是我在项目中使用的框架,FrameworkTwo是依赖项):

dyld: lazy symbol binding failed: Symbol not found:
  [symbol here]

Referenced from:
  [path to iOS sim]/FrameworkOne.framework/FrameworkOne

Expected in:
  [path to application]/Frameworks/FrameworkTwo.framework/FrameworkTwo

...和...

dyld: Symbol not found:
  [symbol here]

...the same paths as above...

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

事后看来,答案很简单且令人沮丧:我的应用程序项目和框架项目中使用的框架版本不匹配。

如果遇到类似问题,请检查您的应用程序和框架使用的是同一版本!