如何使用log4cocoa嵌入应用程序?

时间:2010-08-05 20:30:55

标签: objective-c cocoa logging frameworks log4j

我在使用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。

我希望问题足够明确,以便得到你的帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

看起来您的框架未被复制到目标中。如果框架不是系统的一部分(即,您必须将其与应用程序一起分发),则不仅需要将可执行文件与框架相关联,还要将其复制到应用程序的./Frameworks文件夹中。

要执行此操作,请添加“复制文件”构建阶段,选择“Frameworks”作为构建阶段的目标,然后在刚刚创建的“复制文件”构建阶段下拖动框架(从Xcode项目中的Frameworks文件夹)。如果您已经有框架的复制文件构建阶段,那么只需使用它而不是创建新的。

答案 1 :(得分:0)

首先,我的意思是,Joshua Nozzi对于如何使用框架嵌入应用程序是完全正确的!

但log4cocoa有点不同,只能意识到这是因为它是一个能够在http://sourceforge.net/projects/log4cocoa/下载的开源代码。

通过添加“复制文件构建阶段,而不是”框架“,选择”产品目录“作为构建阶段的目标,可以将框架与此配置一起使用,然后将框架拖到”复制文件构建阶段“。 / p>

这个和其他框架之间的区别在于这个构建变量:安装目录。它具有默认值:“/ Frameworks。 右键单击log4cocoa(目标列表中的第一项),然后选择“获取信息”,最后选择“构建”,即可访问此变量。

在将“安装目录”值编辑为“@executable_path /../ Frameworks”之后将其用作“普通”框架重建它,或者如果要使用它嵌入框架,则更愿意“@” loader_path /../框架“