我应该将哪个项目模板用于iOS和Cocoa库?

时间:2012-03-09 20:57:32

标签: iphone ios macos cocoa foundation

我在iOS项目中有一堆代码(名为“MyLibs”),我在不同的应用程序中重复使用。我将MyLibs项目拖到我正在创建的任何应用程序的工作区中。我本身不使用单元测试,但我有按钮,而不是在iPhone应用程序中轻松完成所有测试。

我正在学习Cocoa,并希望将我的库分成可以在两个项目中使用的库。我以为它会是MyCommonLibs(或MyFoundationLibs),MyIOSLibs和MyCocoaLibs。

但是,在创建新项目时,我必须在iOS应用程序或Cocoa应用程序之间进行选择。它看起来像iOS框架和库 - > Cocoa Touch静态库是合适的,因为它链接到Foundation框架。另一方面,如果没有重大缺点,我宁愿使用应用程序模板。

我需要能够在两种应用类型中使用MyCommonLibs,因为其中一些对两者都有用,例如NSArray类别等。

我应该为MyCommonLibs使用哪个模板,我必须使用Library,Framework(在Mac OS模板中),还是只使用普通的应用程序模板(就像我到目前为止所做的那样)?

1 个答案:

答案 0 :(得分:2)

  1. 创建iOS框架&图书馆项目。我们称之为 TestLib

  2. 添加MAC OS X Framework&类型的新目标(文件>新>目标)库。

  3. 这样,您可以从同一个项目中编译iOS库和MAC OS X库。

    您可以选择每个目标中包含的文件。因此,如果您想为iOS和MAC OS X提供类,则可以将其添加到两者中,如果您只想将其添加到一个平台,则只能将其添加到一个库中。

    正如您在下面的屏幕截图中看到的,SharedClass在两个库中均可用,iOSOnlyClass仅适用于iOS,MACOnlyClass仅适用于MAC OS X.

    enter image description here

    enter image description here

    您还可以在同一个项目中添加单元测试的目标。

    要组织代码,您可以将共享类放在一个组中,并将每个目标的类放在一个单独的组中。

    enter image description here