在我的应用中,我使用agvtool
来更新内部版本号。我现在想要在设置中显示我的应用程序版本以显示此数字并自动更新。
我已经看到一些应用程序通过编写脚本来准备值并在root.plist
中填充值来解决这个问题。我想知道是否有更优雅的方式来做这件事。
答案 0 :(得分:4)
我不知道您的agvtool,但我从代码中获取应用程序版本的方式是:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
这会从info.plist中获取您在将应用程序上传到iTunesConnect之前必须定义的版本号,所以这应该没问题:您依赖于您必须定义的值。
答案 1 :(得分:1)
您正在寻找this。它包含有关如何设置和管理营销版本以及构建号码信息的信息。然后,当您需要构建字符串时,请执行类似于以下操作的内容:
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];
答案 2 :(得分:1)
看起来唯一的方法是创建一个脚本来提取数字并更新plist文件。以下站点详细描述了脚本需要包含的内容
http://davedelong.tumblr.com/post/110448898058/incrementing-build-numbers-in-xcode