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

Objective c 如何使用log4cocoa嵌入应用程序?,objective-c,cocoa,logging,frameworks,log4j,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/MLo

我在用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\u path/。/Frameworks

我希望问题清楚,能得到你们的帮助。
提前感谢。

看起来您的框架没有被复制到目标中。如果框架不是系统ie的一部分,您必须将其与应用程序一起分发,您不仅需要将可执行文件与框架链接,还需要将其复制到应用程序的./Frameworks文件夹中


为此,添加一个复制文件构建阶段,选择框架作为构建阶段的目标,然后将框架从Xcode项目中的框架文件夹拖动到刚才创建的复制文件构建阶段下。如果你已经有了一个框架的复制文件构建阶段,那么就用它来代替创建一个新的。首先,我的意思是,Joshua Nozzi关于如何将应用程序嵌入框架是完全正确的

但log4cocoa有点不同,只能实现这一点,因为它是一个开放源代码,可以随时下载

该框架可以通过添加复制文件构建阶段与此配置一起使用,但可以选择Products目录作为构建阶段的目标,然后将框架拖动到该复制文件构建阶段

此框架与其他框架的区别在于此构建变量:installation directory。默认值为:/frameworks。 右键单击目标列表中的log4cocafirst项,然后选择Get Info和finally build,可以访问此变量


若要将其用作普通框架,请在将安装目录值编辑为@executable\u path/./Frameworks后重新构建它,或者如果要将框架嵌入其中,请选择@loader\u path/./Frameworks

嗨,Joshua。首先,感谢您回答这个问题。我已经有了一个框架的复制文件构建阶段。我不明白你说的只是使用它,而不是创建一个新的。我是在创建一个新的吗?我的意思是,如果框架存在复制文件构建阶段,您可以使用该阶段。有一个用于资源,但您肯定也需要一个用于框架。然后,您需要将有问题的框架拖到构建阶段,指示Xcode在构建时将其复制到目标的./Frameworks文件夹中。