AGVTool新版本和什么版本不对应

Bes*_*esi 7 iphone xcode cocoa-touch agvtool ios

当我做:

agvtool new-version -all 99
Run Code Online (Sandbox Code Playgroud)

它更新了我的Info.plist文件.但是,如果我这样做:

agvtool what-version
Run Code Online (Sandbox Code Playgroud)

要么

agvtool next-version
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

There does not seem to be a CURRENT_PROJECT_VERSION key set for this project.
Add this key to your target's expert build settings.
Run Code Online (Sandbox Code Playgroud)

为什么这不对应.我是否必须使用plist命令行工具才能检索我的应用程序的当前版本.奇怪的是agvtool what-marketing-version工作正常.具有讽刺意味的是,agvtool似乎没有版本本身;-)

Ray*_*ter 6

此链接适用于我技术问答QA1827使用agvtool自动化版本和内部版本号

从链接是以下.这有助于在我开始使用agvtool时解决问题.

  1. 启用agvtool.

导航到目标的"构建设置"窗格,然后针对所有构建配置更新它.

将当前项目版本设置为您选择的值.我把我设置为1

将版本控制系统设置为Apple Generic.

默认情况下,Xcode不使用任何版本控制系统.将版本控制系统设置为Apple Generic可确保Xcode在项目中包含所有agvtool生成的版本信息.

  1. 设置您的版本和内部版本号.

agvtool在您的应用程序的Info.plist中搜索您的版本和内部版本号.如果它们存在则更新它们,否则不执行任何操作.确保Info.plist中存在CFBundleVersion(Bundle版本)和CFBundleShortVersionString(Bundle版本字符串,short)密钥

  • 如果您希望使用agvtool作为运行脚本构建阶段的一部分来自动增加每个构建或存档的构建号,请不要沿着这条路走下去.这将默默地取消构建,因为agvtool会改变项目文件.希望我在那里拯救了10分钟. (3认同)