我在使用log4cocoa框架嵌入我的应用程序时遇到了一些麻烦。我已经在我的应用程序中嵌入了框架,没有任何问题,但我无法解决这个问题。
首先,这是我的系统:
dyld: Library not loaded: @loader_path/Frameworks/Log4Cocoa.framework/Versions/A/Log4Cocoa
Referenced from: /Users/leandro/Documents/Projects/MLoggerApplication/build/Debug/MLoggerApplication.app/Contents/MacOS/MLoggerApplication
Reason: image not found
好吧,我认为已经完成了所有必要的步骤,以使框架正常运行,包括复制文件阶段,并将构建选项上的安装目录更改为@executable_path /../ Frameworks。
我希望问题足够明确,以便得到你的帮助。 提前谢谢。
答案 0 :(得分:0)
看起来您的框架未被复制到目标中。如果框架不是系统的一部分(即,您必须将其与应用程序一起分发),则不仅需要将可执行文件与框架相关联,还要将其复制到应用程序的./Frameworks文件夹中。
要执行此操作,请添加“复制文件”构建阶段,选择“Frameworks”作为构建阶段的目标,然后在刚刚创建的“复制文件”构建阶段下拖动框架(从Xcode项目中的Frameworks文件夹)。如果您已经有框架的复制文件构建阶段,那么只需使用它而不是创建新的。
答案 1 :(得分:0)
首先,我的意思是,Joshua Nozzi对于如何使用框架嵌入应用程序是完全正确的!
但log4cocoa有点不同,只能意识到这是因为它是一个能够在http://sourceforge.net/projects/log4cocoa/下载的开源代码。
通过添加“复制文件构建阶段,而不是”框架“,选择”产品目录“作为构建阶段的目标,可以将框架与此配置一起使用,然后将框架拖到”复制文件构建阶段“。 / p>
这个和其他框架之间的区别在于这个构建变量:安装目录。它具有默认值:“/ Frameworks。 右键单击log4cocoa(目标列表中的第一项),然后选择“获取信息”,最后选择“构建”,即可访问此变量。
在将“安装目录”值编辑为“@executable_path /../ Frameworks”之后将其用作“普通”框架重建它,或者如果要使用它嵌入框架,则更愿意“@” loader_path /../框架“