在我的应用程序中,我正在使用agvtool
来更新构建号。现在,我希望在设置中显示此数字的应用程序版本,并使其自动更新。
我看到一些应用程序通过编写脚本来读取该值并在root.plist
中填充该值来解决此问题。我想知道是否有更加优雅的方法来解决这个问题。
在我的应用程序中,我正在使用agvtool
来更新构建号。现在,我希望在设置中显示此数字的应用程序版本,并使其自动更新。
我看到一些应用程序通过编写脚本来读取该值并在root.plist
中填充该值来解决此问题。我想知道是否有更加优雅的方法来解决这个问题。
我不知道你的agvtool,但我从代码中获取应用程序版本的方法是:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
这将从info.plist文件中获取版本号,在上传应用程序到iTunesConnect之前必须定义此文件,因此这应该没问题:您可以依赖您必须定义的值。
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];
看起来唯一的方法是创建一个脚本来提取数字并更新plist文件。以下网站给出了脚本需要包含的内容的良好描述。
http://davedelong.tumblr.com/post/110448898058/incrementing-build-numbers-in-xcode