如何共享/分发已编译的Objective-C代码(如Java中的JAR)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何共享/分发已编译的Objective-C代码(如Java中的JAR)?相关的知识,希望对你有一定的参考价值。
我想写一些Objective-C代码进行分发。打包输出的最佳方法是什么。在Java中,您可以将代码打包在JAR文件中并进行分发。 Objective-C中的等价物是什么?
以下链接很接近,但似乎解决了我不关心的更多命名空间问题。我最关心的是设置代码以便于分发。
框架几乎肯定是要走的路。关于OS X上的Frameworks的一个非常好的事情是它们可以将可执行代码,标题,元数据,图像,图标等捆绑在一个包中。此外,框架可以包含在*/Library/Frameworks/
中,甚至可以包含在应用程序包中,以完全脱离任何其他应用程序对给定版本框架的依赖性。
Apple的Framework Programming Guide是开始使用框架的最佳场所。
创建框架很简单。基本上,在Xcode中,选择File> New Project ...并选择Framework,然后选择Cocoa Framework。这将设置一个带有框架目标的新项目,并在您构建时自动为您打包所有内容。
不要忘记,文档和单元测试是一件好事,特别是对于框架而言,与大多数最终用户代码相比,这些框架本身更可能被多个客户端使用。您可以向框架Xcode项目添加更多目标以记录和测试它。
既然您正在寻找示例,请查看CHDataStructures.framework(我开发的项目)和PSMTabBarControl.framework(其中包含大量额外资源)。两者都是开源的,应该提供足够的例子来推销自己的。
一个建议就是为您节省一些麻烦:除非您单击框架目标并将角色更改为“公共”(或“私有”),否则您的头文件将不会复制到构建的框架。
您想要创建一个框架。 Xcode中有一个起点,用于创建其中一个新项目。有一些警告和陷阱,但总的来说这个过程很简单。
编辑:澄清:如果您打算将其作为FOSS分发;将其打包在一个框架中可能会有点过分;只是分发源代码可能是一个更明智和更简单的选择。但是,如果您想将源代码保留给自己或者将其与一组相关资源一起分发,那么框架肯定是个好主意。
Reddit:有关介绍,请参阅qazxsw poi
你没有说是否适用于iPhone。在iPhone上,它需要是.sa(静态链接库) - 但我认为正态分布将由.dylib或.so
您可以将其编译为框架或静态库(我相信.so)。
Java程序在虚拟机的上下文中运行。 Jar包含抽象字节码,必须由VM转换为本机代码。
与C类似,Objective-C被编译为本机机器代码,例如Win .exe文件,可由操作系统直接运行。
大多数复杂程序都包含多个文件,包括DLL,图标文件等。用于分发的文件配置通常由设置实用程序处理。
以上是关于如何共享/分发已编译的Objective-C代码(如Java中的JAR)?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用objective-c在xcode中使用共享偏好? [复制]