我正在根据以下模板进行iOS框架: https://github.com/jverkoey/ios-framework

现在,我需要抛光一点,并设置具有适当构建/营销号码的版本控制系统。

该框架项目有3个目标,即生成静态库的第一个目标,即生成资源捆绑包的第二个目标和第三个目标,该目标是静态库和资源捆绑包的总目标。因此,我的第一个问题是确定我应该配置哪个目标的版本控制构建设置(或者是否应该配置所有目标)。

我的第二个问题是我应该配置的设置是什么,它们是什么意思:

当前的项目版本=>是构建版本还是营销版本?因此,如果我发布具有以下版本的应用程序:1.2.3.4,我应该设置4个吗?还是1.2.3?还是1.2.3.4?

生成的版本控制源文件名=>我猜测包含整数构建编号的.c文件的名称?

生成的版本控制变量=>是什么?

版本启动名称前缀=>一个包含构建号的变量名称的前缀

版本控制名称后缀=>一个包含构建号的变量名称的后缀

版本管理系统:每个人都使用Apple通用系统,所以我想这是唯一可用的

版本操作用户名:这是什么?

“包装”部分中还有其他设置,例如“框架版本”,这些设置应始终使用“我猜iOS”(因为它们实际上是静态框架,因此版本无关紧要)?对于“链接”部分的“兼容版本” /“当前库版”设置,我应该仅在静态库目标上配置它们吗?还是由链接库的应用程序使用?

有帮助吗?

解决方案

除非您正在建造商业封闭式框架,否则 我真的建议使用 可可录. 。随着时间的流逝,随着图书馆的变化,所有大头痛都将需要依赖,资源,版本控制,更新,安装等。

即使您想为封闭源代码分发仅二进制文件,也可以使用可可蛋白鱼类构建二进制文件,然后用不同的podspec分发它们。另外,您将避免嵌入其他库代码,这是一种非常糟糕但常见的做法。

至于版本,您可以检查 这里.


回到制作静态库...

该版本从应用程序不可见,仅是文档,因此我认为您应该将其添加到所有目标中。如果您真的希望能够在运行时检测库的版本,则需要提出类方法或全局变量 [MyLibrary version].

这些密钥的文档包含在XCode中,或者您只需选择一个并检查“快速帮助”窗格:

enter image description here

其他提示

苹果公司拥有广泛的文档,用于构建和分发框架。

框架编程指南 覆盖您需要的大部分地面。如果您想要有关开发人员工具如何使用项目中信息的更多具体信息,请查看手册页面 agvtool, ,Xcode与Apple版本管理系统一起使用的工具。

您还应该对 可可编码指南, ,这还涵盖了一些框架的最佳实践。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top