一个Xcode项目使用另一个而不创建静态库

时间:2011-10-24 01:30:28

标签: objective-c ios xcode

我只是碰了一下头脑并想出了一个解决方案,但我想确保我做的事情正确并且我确实知道我在做什么(我很确定我永远不会知道什么我在做:)

我有两个项目,我一直在努力,每个项目都提供不同的功能。我希望一个项目(A)能够使用另一个项目(B)的功能。我尝试通过创建一个工作区并将两个项目放入其中来实现它,但我无法从项目A“看到”项目B的文件(#import确实工作后自动完成,但它给出了编译器错误)。所以我尝试将其添加为“子项目”并发现相同。我认为这很容易,但不要猜。

我最终做的是创建一个新项目(C)作为“Cocoa Touch Static Library”项目,并将我的项目B中的文件放入其中。我建造了它。

然后我回到项目A并将项目C作为子项目添加到其中。

然后我将项目C的文件系统上的路径添加到项目A的Build Settings下的User Header Search Paths设置中。

然后我将项目C中的.a文件添加到项目A的Libraries部分的Link Binary中。

然后它奏效了。

但老实说,我不知道静态库的含义是什么。

这一切都是必要的吗?或者是否有更简单的方法来集成两个项目(没有我必须将文件从一个项目复制到另一个项目)?

提前致谢!

乔恩

1 个答案:

答案 0 :(得分:0)

你在工作空间的正确轨道上。我所做的是在工作区中有三个项目。一个没有目标只是为了持有泛型类。我的iOS目标项目的第二个。还有第三个用于mac。将原始文件保留在没有目标的文件中,然后将文件拖到另外两个创建引用的项目中,因此当您编辑一个时,它会更改所有三个。