我在我的可可项目中使用非常有用的ID3框架。有一件我想修改的小东西,但我似乎无法获得我为应用于构建的框架所做的更改。如何正确修改自定义可可框架?
框架提供的源代码配备了一个Xcode项目,所以我已经打开,最多和testings清酒在把一个NSLog(@"hello");
。这是definetly在一个地方,它就会被调用,还有其他NSLog()
电话显示的框架不仅仅是控制台输出被抑制。
要构建一次修改的框架,我首先清理了构建文件夹,确保它实际上删除了文件,然后构建它。然后在我使用框架的Xcode项目中,我删除了旧的引用,并在刚刚构建的框架中添加了一个新引用。用新建的框架运行我的项目不会调用修改的框架代码。我已经尝试使用作为框架Xcode项目一部分的开发和部署构建。
我的直觉是框架代码编译成的可执行文件以某种方式被缓存。但是因为我对框架的工作还不熟悉,所以我不太确定在哪里寻找。
对,我无法让otool工作出于某种原因,但DYLD_PRINT_LIBRARIES非常有用,并且表明它正从Library/Frameworks /中加载。它似乎坚持在那里(即如果我从那里删除它不会编译),但我可以简单地复制框架的新构建,并且它工作正常。非常感谢你。 – Septih 2010-03-18 11:04:25
它希望从那里加载框架的原因是它是框架'INSTALL_PATH'构建设置。使用'otool -L/Library/Frameworks/ID3.framework/ID3'应该显示框架安装路径(第一行输出)。您并不总是必须在那里复制框架,您可以使用框架构建目录中的那个。为了让你的主要可执行文件加载这个框架,还有另一个环境变量:'DYLD_FRAMEWORK_PATH'。请参阅'man dyld' – 2010-03-18 11:12:55