是否可以阅读';当前项目版本';在iPhone应用程序的设置中

是否可以阅读';当前项目版本';在iPhone应用程序的设置中,iphone,xcode,root.plist,agvtool,Iphone,Xcode,Root.plist,Agvtool,在我的应用程序中,我正在使用agvtool更新版本号。我现在希望在“设置”中显示我的应用程序版本以显示此号码并自动更新 我见过一些应用程序通过编写脚本准备值并填充值来解决这个问题,然后将值填充到root.plist。我想知道是否有更优雅的方法来实现这一点。我不知道您的agvtool,但我从代码中获取应用程序版本的方法是: [[NSBundle mainBundle]objectForInfoDictionaryKey:@“CbundLeverVersion”] 这将从info.plist中获取版

在我的应用程序中,我正在使用
agvtool
更新版本号。我现在希望在“设置”中显示我的应用程序版本以显示此号码并自动更新


我见过一些应用程序通过编写脚本准备值并填充值来解决这个问题,然后将值填充到
root.plist
。我想知道是否有更优雅的方法来实现这一点。

我不知道您的agvtool,但我从代码中获取应用程序版本的方法是:

[[NSBundle mainBundle]objectForInfoDictionaryKey:@“CbundLeverVersion”]

这将从info.plist中获取版本号,您必须在将应用程序上载到iTunesConnect之前定义该版本号,因此这应该是确定的:您仍然依赖于您必须定义的值。

您正在寻找的值。它包括有关如何设置和管理营销版本和内部版本号信息的信息。然后,当需要生成字符串时,执行类似于以下操作:

NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];

self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];

看起来唯一的方法是创建一个脚本来提取数字并更新plist文件。下面的站点很好地描述了脚本需要包含的内容


agvtool是苹果的通用版本控制工具。您可以从代码中检索它,但我的问题是,我希望它出现在应用程序的设置中,并且这些设置是从属性列表(root.plist)加载的。当我运行应用程序时,我可以通过读取设置然后将其写入设置来填充设置,但这无法解决有人首先打开设置的问题Hi Ken,感谢您的回复,但我正在寻找一种在我的应用程序设置中引用版本的方法。正如我在上面指出的,我可以在应用程序启动时读取版本,然后填充设置,但如果用户先打开设置,这将不起作用。我认为唯一的方法是使用脚本来复制值across@DaveDeLong链接死了!