如何共享/分发已编译的Objective-C代码(如Java中的JAR)?

ban*_*nno 7 frameworks software-distribution objective-c

我想写一些Objective-C代码进行分发.打包输出的最佳方法是什么?在Java中,您可以将代码打包在JAR文件中并进行分发.Objective-C中的等价物是什么?

以下链接很接近,但似乎解决了我不关心的更多命名空间问题.我最关心的是设置代码以便于分发.

Objective-C相当于Java包?

Qui*_*lor 7

框架几乎肯定是要走的路.关于OS X上的Frameworks的一个非常好的事情是它们可以将可执行代码,标题,元数据,图像,图标等捆绑在一个包中.此外,框架可以包含在*/Library/Frameworks/应用程序包中,甚至可以包含在应用程序包中,以完全脱离任何其他应用程序对给定版本框架的依赖性.

Apple的框架编程指南是开始使用框架的最佳位置.

创建框架很简单.基本上,在Xcode中,选择File> New Project ...并选择Framework,然后选择Cocoa Framework.这将设置一个带有框架目标的新项目,并在您构建时自动为您打包所有内容.

不要忘记,文档和单元测试是一件好事,特别是对于框架而言,与大多数最终用户代码相比,这些框架本身更可能被多个客户端使用.您可以向框架Xcode项目添加更多目标以记录和测试它.

由于您正在寻找示例,请查看CHDataStructures.framework(我开发的项目)和PSMTabBarControl.framework(包括框架中的大量额外资源).两者都是开源的,应该提供足够的例子来推销自己的.

一个建议就是为您节省一些麻烦:除非您单击框架目标并将角色更改为"公共"(或"私有"),否则您的头文件将不会复制到构建的框架.


Wil*_*and 5

您想要创建一个框架.Xcode中有一个起点,用于创建其中一个新项目.有一些警告和陷阱,但总的来说这个过程很简单.

编辑:澄清:如果您打算将其作为FOSS分发; 将其打包在一个框架中可能会有点过分; 只是分发源代码可能是一个更明智和更简单的选择.但是,如果您想将源代码保留给自己或者将其与一组相关资源一起分发,那么框架肯定是个好主意.

Reedit:有关介绍,请参阅http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/