我在一个 iOS 项目(名为“MyLibs”)中有一堆代码,我在不同的应用程序中重复使用。我将 MyLibs 项目拖到我正在创建的任何应用程序的工作区中。我本身不使用单元测试,但我有一些按钮,而不是在 iPhone 应用程序中轻松运行所有测试。
我正在学习 Cocoa,并希望将我的库划分为可以在两个项目中使用的库。我在想应该是 MyCommonLibs(或 MyFoundationLibs)、MyIOSLibs 和 MyCocoaLibs。
但是,在创建新项目时,我必须在 iOS 应用程序或 Cocoa 应用程序之间进行选择。看起来 iOS 框架和库 -> Cocoa Touch 静态库是合适的,因为它链接到 Foundation 框架。另一方面,如果没有重大缺陷,我更喜欢使用应用程序模板。
我需要能够在两种应用类型中使用 MyCommonLibs,因为其中一些对两者都有用,例如 NSArray 类别等。
我应该为 MyCommonLibs 使用哪个模板,我必须使用库、框架(在 Mac OS 模板中)还是可以只使用普通的应用程序模板(就像我迄今为止所做的那样)?
Best Answer-推荐答案 strong>
创建一个 iOS 框架和库项目。我们称之为 TestLib。
添加类型为 MAC OS X Framework & Library 的新目标(文件 > 新建 > 目标)。
这样,您可以从同一个项目编译 iOS 库和 MAC OS X 库。
您可以选择每个目标中包含哪些文件。因此,如果你想让一个类同时适用于 iOS 和 MAC OS X,你可以将它添加到两者中,如果你想让它只适用于一个平台,你可以将它添加到一个库中。
正如您在下面的屏幕截图中看到的,SharedClass 在两个库中都可用,iOSOnlyClass 仅适用于 iOS,MACOnlyClass 可用仅适用于 MAC OS X。
您还可以在同一项目中添加单元测试的目标。
要组织您的代码,您可以将共享类放在一个组中,并将每个目标的类放在一个单独的组中。
关于iphone - 我应该为 iOS 和 Cocoa 库使用哪个项目模板?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9640904/
|