我正在研究iOS框架。我的开发环境是一个iOS应用程序项目,其中包含框架项目,然后将框架的产品添加到应用程序的“嵌入式二进制文件”和“链接框架和库”部分。
以前的设置工作正常,但我正在研究的这个特定框架需要另一个框架才能运行。我已经通过Carthage安装了这个框架,并将其添加到基础应用程序的项目(“嵌入式二进制文件”和“链接框架和库”),然后还添加到框架的项目“链接框架和库”。
但是,当我运行应用程序时,我得到以下两个错误(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...
我在这做错了什么?
事后回答很简单而令人沮丧:我的应用程序项目中使用的框架版本与我的框架项目不匹配。
如果您遇到类似问题,请检查您的应用程序和框架是否使用相同的版本!