使用自定义框架时出现“找不到图像”错误
Posted
技术标签:
【中文标题】使用自定义框架时出现“找不到图像”错误【英文标题】:"image not found" Error while using Custom FrameWork 【发布时间】:2013-12-04 06:22:06 【问题描述】:我为我的一个可可应用程序创建了自己的框架。我将该框架添加到我的项目中,并从该框架中调用了一个方法。当我尝试运行我的应用程序时它崩溃了:
崩溃日志:
dyld: Library not loaded: @rpath/MMP.framework/Versions/A/MMP
Referenced from: /Users/Midhun/Library/Developer/Xcode/DerivedData/MMPTest-ccvjtgedqkcftchapjehhwjbaqdq/Build/Products/Debug/MMPTest.app/Contents/MacOS/MMPTest
Reason: image not found
我做了什么:
框架:
我在公共部分添加了我的头文件 我添加了 Deployment 和Linking
的路径,比如:
我构建了项目,并准备好了我的框架(到此为止非常酷)。
项目:
我将该框架添加到我的项目根目录下的FrameWorks
文件夹中。
我在Link Binary With Libraries
部分下添加了框架
我更改了链接路径,如:
平台详情:
Xcode: 4.6.2
OS X : 10.8
我的尝试(崩溃后)
当我遇到这个问题时,我检查了otool
。它显示如下路径:
我点击了这个链接:A Visual Guide to Creating an Embeddable Framework for Mac OSX
但是我还不能解决这个问题。请帮助我,提前谢谢。
【问题讨论】:
这有帮助吗? ***.com/questions/9798623/… @***foe:不,我首先尝试过,它对我不起作用。这就是我问这个问题的原因:) 但是您没有遵循已接受答案的建议,将 install name 保留为默认值。 @***foe:如果我们更改安装目录和运行路径,它会自动更改安装名称(请查看我的图片:安装名称是默认的,XCode 显示更改为粗体和默认值普通字体) 你知道应用程序和框架最终被写入哪里了吗?我原以为 xcode 工作区对于这类事情会是一个更好的选择。 【参考方案1】:设置框架安装目录为@executable_path/../Frameworks
现在在构建阶段添加副本文件,将目标设置为Frameworks
。点击你的target,然后点击Editor(菜单栏) --> Add build phase --> Add Copy Files Build Phase
【讨论】:
Add Copy Files Build Phase
我的 XCode 中禁用了菜单。
@MidhunMP 您是否选择了正确的目标,然后单击“构建阶段”选项卡?
@MidhunMP 并且正确选择了“构建阶段”选项卡?因为“添加构建阶段”子菜单只有在您选择了正确的选项卡时才会启用。
@MidhunMP 在 Xcode 4 中,选项在 Editor->Add Build Phase 中。 Copy Files 构建阶段随后会出现在 Project Navigator 中,您可以通过单击加号向其中添加内容。
偶尔会忘记这一步。 1+为此。【参考方案2】:
我遇到了同样的问题,我就是这样解决的,
就我而言,自定义框架位于 Swift 中,而我的项目位于 Objective c
中按照以下步骤,
-
进入项目导航器
选择Targets,进入General标签
找到Embedded Binaries 拖动自定义框架。寻找流量
在下面提到的图像中
检查框架是否添加到链接框架和
库(参考图片)
注意:在我的例子中,它被添加到 Linked Frameworks and Libraries,请先删除它
最后一步,找到标志 始终嵌入 swift 嵌入式库
“构建设置”并将其设置为“是”(参考图片)
我希望这会有所帮助。
【讨论】:
以上是关于使用自定义框架时出现“找不到图像”错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 addCommand (webdriverio) 添加自定义命令时出现 ts 错误
Redux Form - 渲染以下自定义组件时出现错误?不知道为啥?