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

Satisfying a framework's dependencies while within another project

我正在开发一个 iOS 框架。我的开发环境是一个 iOS 应用程序项目,其中包含框架项目,然后将框架的产品添加到应用程序的 "Embedded binaries" 和 "Linked Frameworks and Libraries" 部分。

之前的设置工作正常,但我正在处理的这个特定框架需要另一个框架才能运行。我已经通过 Carthage 安装了这个框架,并将它添加到基础应用程序的项目("Embedded binaries" 和 "Linked Frameworks and Libraries"),然后也是框架的项目 "Linked Frameworks and Libraries".

然而,当我 运行 应用程序时,出现以下两个错误(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...

我做错了什么?

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

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