在我的应用程序中,我使用agvtool
来更新内部版本号。我现在想让设置中显示的应用版本显示此号码并自动更新。是否有可能在iPhone应用程序的设置中读取“当前项目版本”
我已经看到一些应用程序通过编写脚本来准备好值并填充值,然后在root.plist
中解决。我想知道是否有更好的方法来做到这一点。
在我的应用程序中,我使用agvtool
来更新内部版本号。我现在想让设置中显示的应用版本显示此号码并自动更新。是否有可能在iPhone应用程序的设置中读取“当前项目版本”
我已经看到一些应用程序通过编写脚本来准备好值并填充值,然后在root.plist
中解决。我想知道是否有更好的方法来做到这一点。
它看起来像的唯一方法是创建一个脚本来提取的数量和更新的plist文件。下面的网站给出什么样的脚本需要包含
http://davedelong.tumblr.com/post/110448898058/incrementing-build-numbers-in-xcode
我不知道你的agvtool但我得到我的应用程序版本从代码的方式是:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
这得到来自info.plist中,你必须在上传之前定义的版本号你的应用到iTunesConnect,所以这应该是好的:你依赖一个你必须定义的值。
agvtool一个很好的说明是苹果通用版本的工具。您可以从代码中检索它,但是我的问题是我希望它出现在应用程序的设置中,并且设置是从属性列表(root.plist)加载的。 我可以,当我运行应用程序时,通过阅读设置来填充设置,然后将其写入设置,但它不会解决有人首先打开设置的问题 – Liam 2010-03-04 15:01:04
您正在寻找this。它包含有关如何设置和管理您的营销版本和内部版本号信息的信息。然后,当你需要构建字符串,做一个类似于以下内容:
NSString *marketingVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString *buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
self.appVersionLabel.text = [NSString stringWithFormat:@"%@.%@", marketingVersion, buildNumber];
嗨,肯,感谢您的回复,但我是什么寻找是在我的应用程序的设置中引用版本的一种方式。正如我上面指出的那样,我可以在应用程序启动时读取版本,然后填充设置,但如果人员首先打开设置,则这不起作用。我认为唯一的办法是有一个脚本来复制价值跨越 – Liam 2010-06-09 09:18:00
+1嗯,链接看起来很熟悉... – 2010-08-13 16:29:15
@DaveDeLong链接已经死了! – griotspeak 2015-02-08 16:45:39
@griotspeak我刚更新了它 – 2015-02-08 16:50:25