能否在iPhone应用程序的设置中读取“当前项目版本”?

3

在我的应用程序中,我正在使用agvtool来更新构建号。现在,我希望在设置中显示此数字的应用程序版本,并使其自动更新。

我看到一些应用程序通过编写脚本来读取该值并在root.plist中填充该值来解决此问题。我想知道是否有更加优雅的方法来解决这个问题。

3个回答

4

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

[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];

这将从info.plist文件中获取版本号,在上传应用程序到iTunesConnect之前必须定义此文件,因此这应该没问题:您可以依赖您必须定义的值。


1
agvtool 是苹果的通用版本工具。您关于可以从代码中检索它是正确的,但我的问题是我希望它出现在应用程序的设置中,并且设置是从属性列表(root.plist)中加载的。 当我运行应用程序时,我可以通过读取然后将其写入设置来填充设置,但这无法解决当有人首先打开设置时的问题。 - Liam

1
你正在寻找this。它包含有关如何设置和管理您的营销版本和构建号信息的信息。然后,当您需要构建字符串时,请执行类似以下操作的操作:
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];

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

嗨Ken,感谢您的回复,但我想要的是在我的应用程序设置中引用版本的方法。正如我上面指出的那样,我可以在应用程序启动时读取版本并填充设置,但如果用户首先打开设置,则此方法将无效。我认为唯一的方法是编写一个脚本来复制该值。 - Liam

1

@DaveDeLong 链接已失效! - griotspeak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接