更改静态库的源代码需要清理并在xcode 4中编译

我有一个iOS项目,build立在我们在不同的iOS项目中使用的框架项目上。 该框架作为xcode项目包含在应用程序项目中。 应用程序项目依赖于框架的静态库构build目标。 (类似于像three20这样的大多数开源库)

问题是,如果我改变框架源代码中的东西,当我build立和运行应用程序项目时,静态库不会重build。

做一个清洁,然后构build和运行更改编译正确。 每次我在框架中改变某些东西时重build都不是一个明显的原因。

有没有一个设置,我必须改变,以便Xcode正确地识别我的框架为脏,并相应地build立它?

我正在使用xcode 4.0.2

这是xcode 4.0.2中的一个错误(可能在将来的版本中修复)。 从https://devforums.apple.com/thread/91711?start=25&tstart=0

  1. 在项目中设置静态库,在框架下:相对于生成产品
  2. closuresXCode
  3. 编辑project.pbxproj并删除静态库的所有path组件,这样只剩下filname,像这样(重要的部分是“path = libLibrary.a”)

    A74F787413566130000D0AFC / * libLibrary.a * / = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libLibrary.a; sourceTree = BUILT_PRODUCTS_DIR; };

您可能会错过目标和静态库之间的依赖关系。

为了添加一个依赖项:

  1. 拖放项目上的静态库Xcode项目

    1B。 将库添加到您的应用程序框架(我知道它已经在那里);

  2. select你的目标; 显示信息窗格;

  3. 去依赖关系,点击“+”,然后select你的静态库。

这些指令对于Xcode 3.2.x是有效的,但是我希望基于这个,你可以很容易地find用Xcode 4解决这个问题的方法。

编辑:对于Xcode 4,请检查此和这 (解决方法问题的编辑部分)。

添加一个脚本步骤,将您的main.m文件设置为已修改

#Force dependencies' relink touch MyProject/main.m