Xcode 中定义的宏 CURRENT_PROJECT_VERSION 在哪里?

Where is the macro CURRENT_PROJECT_VERSION defined in Xcode?

这个post说设置是在Build Settings中定义的,但是我怎么知道宏的名称,比如CURRENT_PROJECT_VERSION来自Build Settings。

使用 Xcode 10.3 或以下版本,应用程序的版本和内部版本号在 info.plist 文件中定义为“捆绑包版本字符串,短”和“捆绑包版本”(如果作为源代码打开,键名是CFBundleShortVersionStringCFBundleVersion)。通过适当的设置,多个目标将共享 info.plist 文件,您可以在一个地方更改所有目标的 version/build

使用 Xcode 11.1,每个目标在“营销版本[=”下的目标构建设置中单独定义 version/build 数字版本控制部分

中的“当前项目版本”和“当前项目版本

plist 文件中的设置现在指向带有 $(MARKETING_VERSION)$(CURRENT_PROJECT_VERSION)

的构建设置

所以,总结一下:

- 应用版本

info.plist中发现为“Bundle version string, short”([=79中的CFBundleShortVersionString” =]),用“$(MARKETING_VERSION)”指向名为“营销版本”的构建设置字段。

-应用内部版本号

这在 info.plist 中找到为“Bundle 版本”([=79= 中的CFBundleVersion” ]),用“$(CURRENT_PROJECT_VERSION)”指向名为“当前项目版本”的构建设置字段。

漂亮的命名一致性由 Apple 提供