问题标签 [agvtool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3297 浏览

iphone - 是否可以在 iPhone 应用程序的设置中读取“当前项目版本”

在我的应用程序中,我使用agvtool更新内部版本号。我现在想让我的应用程序版本出现在设置中以显示这个数字并让它自动更新。

我已经看到一些应用程序通过编写脚本来准备值并将值填充到root.plist. 我想知道是否有更优雅的方式来做到这一点。

0 投票
1 回答
750 浏览

iphone - $non_lazy_ptr 与 agvtool 版本变量的链接错误?

我一直在使用agvtool我的一个 iPhone 应用程序的一般原则,并且最近找到了我希望能够检查版本变量的原因(以便我可以将帮助内容重新复制到 Documents 目录中,如果它出来了日期)。MyAppVersionNumber在 MyApp_vers.c 中定义的变量是在构建期间自动生成的。它在 .o 文件中生成,并显示在链接应用程序本身的(以前的版本?)中。到目前为止一切都很好,看起来。

所以现在我已经在需要使用它extern double MyAppVersionNumber.m文件中声明了一个(稍后尝试使用它,只是在一个NSLog开始的声明中),我尝试为 iPhone 模拟器构建,并得到一个链接错误:

那么,我需要做些什么不同的事情才能让这个链接?

我在谷歌上搜索了 $non_lazy_ptr 和 agvtool,但什么也没得到,而只是 $non_lazy_ptr,它提供了一些东西,但主要应用于库,这不是,真的(是吗?)。到目前为止,在我的挖掘中,我还没有打开一个关于 agvtool 的页面,它实际上详细讨论了关于使用变量的任何细节——我读过的那些只是随便说要声明一个外部变量,我已经完成了.

任何熟悉这一点和/或能够提供任何帮助的人?

谢谢!

0 投票
1 回答
1888 浏览

xcode - agvtool 在 Xcode 4 下工作吗?

我正在尝试使用agvtool.

将项目 Newsgroup 的 CFBundleShortVersionString 设置为:1.0.2。

正在更新 Info.plist(s) 中的 CFBundleShortVersionString...

将“Newsgroup.xcodeproj/../Newsgroup-Info.plist”中的 CFBundleShortVersionString 更新为 1.0.2 将“Newsgroup.xcodeproj/../Test Classes/Tests-Info.plist”中的 CFBundleShortVersionString 更新为 1.0.2

找不到 Jambase 目标的营销版本号 (CFBundleShortVersionString)。

在原生目标中寻找营销版本...在原生目标中寻找营销版本 (CFBundleShortVersionString)...

在“Newsgroup.xcodeproj/../Newsgroup-Info.plist”中找到“”的CFBundleShortVersionString 在“Newsgroup.xcodeproj/../Test Classes/Tests-Info.plist”中找到“”的CFBundleShortVersionString

当我运行这些命令时,Xcode 没有打开……还有什么我可能做错或agvtool在 Xcode 4 下被破坏的吗?

0 投票
3 回答
923 浏览

ios - (iOS,XCode 4.2)使用 Git 提交后挂钩设置捆绑版本会导致我的项目变成 Mac 项目

我决定以“Apple 方式”开始对我的项目进行版本控制,使用“Bundle versions string, short”作为2.0.1我的项目的“营销版本”(即),并使用“Bundle version”作为内部版本号(例如42)。

为此,我添加了一个 Gitpost-commit挂钩来调用agvtool next-version -all. 这确实有效 -Info.plist正在使用递增的版本号正确更新。

然而,它也有明显将我的 iOS 项目转换为 Mac 项目的不幸副作用—— iOS device,iPhone 5.0 simulator等从我的Scheme菜单中消失,替换为单个条目 , My Mac 64-bit。幸运的是,这种变化似乎是暂时的,因为退出并重新启动 Xcode 会恢复丢失的 iOS 方案条目。

我做错了吗?有没有更好的方法来实现我的目标?还是我在 Xcode 中遇到了一个奇怪的错误?

0 投票
22 回答
60427 浏览

xcode - 增加内部版本号的更好方法?

我一直在使用 shell 脚本作为我的 Xcode 构建过程的一部分来增加plist文件中的构建号,但是它使 Xcode 4.2.1 经常崩溃(关于目标不属于项目的错误;我猜plist文件的更改在某种程度上使 Xcode 感到困惑)。

shell 脚本这样做是为了使内部版本号仅agvtool在文件比plist文件更新时增加(所以只是构建并没有增加值):

有没有办法增加不会破坏 Xcode的内部版本号(在plist文件中或其他任何地方)?

最后编辑:我现在使用我刚刚在github上公开的 python 脚本来做这种事情。它没有很好的记录,但应该不难解决。作为奖励,这个 repo 还包含一个有用的脚本,可以自动将 3rd 方库捆绑到应用程序包中。

0 投票
3 回答
3156 浏览

node.js - nodejs的版本控制工具

有一些解决方案可以在不同的应用程序中增加版本号。Cocoa 应用程序有 agvtool,而 maven 有maven-release-plugin ,它会在发布时增加版本号。nodejs有类似的工具吗?

0 投票
1 回答
4967 浏览

iphone - AGVTool new-version 和 what-version 不对应

当我做:

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

或者

我收到此错误:

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

0 投票
1 回答
591 浏览

iphone - 在不使用“CURRENT_PROJECT_VERSION”的情况下增加内部版本号

由于我无法使用 agvtool 增加我的内部版本号,我想知道是否有一种快速的方法可以使用命令行在我的项目中增加内部版本号。

如果可能的话,我宁愿不必解析 plist 的 XML。

0 投票
1 回答
2166 浏览

ios - 有没有办法在构建阶段自动将自定义值写入包的 .plist ?

我正在使用 Jenkins 设置 CI 系统,并在构建时使用 agvtool 来调整和设置营销和技术版本。

除了在构建时设置版本控制之外,在 .plist 中设置几个自定义值会非常有用。

这可能吗?

0 投票
2 回答
3310 浏览

ios - 框架上的 Xcode 版本控制构建设置

我正在开发基于以下模板的 iOS 框架:https ://github.com/jverkoey/iOS-Framework

现在我需要稍微完善一下,并使用适当的构建/营销号设置版本控制系统。

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

我的第二个问题是我应该配置哪些设置以及它们的含义:

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

生成的版本控制源文件名 => 生成的 .c 文件的名称,其中包含我猜的整数内部版本号?

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

版本控制名称前缀 => 包含内部版本号的变量名称的前缀

版本控制名称后缀 => 包含内部版本号的变量名称的后缀

版本控制系统:每个人都使用 Apple Generic,所以我想它是唯一可用的

版本控制用户名:它是什么?

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