iphone - 我应该为 iOS 和 Cocoa 库使用哪个项目模板?

标签 iphone ios macos cocoa foundation

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

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

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

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

我应该为 MyCommonLibs 使用哪个模板?我必须使用库、框架(在 Mac OS 模板中)还是可以只使用普通的应用程序模板(正如我迄今为止所做的那样)?

最佳答案

  1. 创建 iOS 框架和库项目。我们将其命名为TestLib

  2. 添加 MAC OS X 框架和库类型的新目标(文件 > 新建 > 目标)。

这样,您就可以从同一项目编译 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

关于iphone - 我应该为 iOS 和 Cocoa 库使用哪个项目模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9640904/

相关文章:

java - 如何在 Windows 上开发 Apple Java Extensions?

linux - OS X 是否有与/dev/shm 等价的功能?

ios - Apple Mach-O 链接器警告。 lib/libxyz.a 在文件 lib/libxyz.a 中缺少所需的体系结构 i386

objective-c - malloc 48 bytes Memory leak in allocateing the memory 没有得到任何解决方案

ios - 如何正确使用NSCache?

iphone - 我应该在 viewDidUnload 和 dealloc 中注销 NSNotification 吗?

xcode - cocoa 中 NSTextField 上的 "rich text"按钮的用途是什么?

iphone - 应用程序在设备上崩溃,但在模拟器中推送 UITableView 时不会崩溃

iphone - Objective-C - 基于 eclipse 刻线边界切割图像

iphone - 如何识别模态视图 Controller 的类?