iOS 代码实现获得应用的版本号(Version/Build)

来源:互联网 发布:全球最大交友软件 编辑:程序博客网 时间:2024/04/30 14:44

[1]概念

iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:

[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]

[2]具体实现

代码实现获得应用的Verison号:

<pre class="default prettyprint prettyprinted" name="code" style="padding: 5px; margin-top: 0px; margin-bottom: 10px; font-size: 9pt; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; border: 0px; background-color: rgb(238, 238, 238); color: rgb(64, 64, 64); line-height: 17px; width: auto; word-wrap: normal; max-height: 600px; vertical-align: baseline; overflow: auto;"><code style="padding: 0px; margin: 0px; white-space: nowrap; border: 0px; background-color: rgb(246, 246, 246); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; vertical-align: baseline;"><span style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; font-size: 14px;"><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">[[[</span><span class="typ" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(43, 145, 175); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">NSBundle</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> mainBundle</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> infoDictionary</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> objectForKey</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">:@</span><span class="str" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(128, 0, 0); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">"CFBundleShortVersionString"</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span></span></code>
<pre class="default prettyprint prettyprinted" name="code" style="padding: 5px; margin-top: 0px; margin-bottom: 10px; font-size: 9pt; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; border: 0px; background-color: rgb(238, 238, 238); color: rgb(64, 64, 64); line-height: 17px; width: auto; word-wrap: normal; max-height: 600px; vertical-align: baseline; overflow: auto;"><code style="padding: 0px; margin: 0px; white-space: nowrap; border: 0px; background-color: rgb(246, 246, 246); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; vertical-align: baseline;"><span style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; font-size: 14px;"><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">[[</span><span class="typ" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(43, 145, 175); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">NSBundle</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> mainBundle</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> objectForInfoDictionaryKey</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">:@</span><span class="str" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(128, 0, 0); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">"CFBundleShortVersionString"</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">];</span></span></code>

获得build号:
<pre class="default prettyprint prettyprinted" name="code" style="padding: 5px; margin-top: 0px; margin-bottom: 10px; font-size: 9pt; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; border: 0px; background-color: rgb(238, 238, 238); color: rgb(64, 64, 64); line-height: 17px; width: auto; word-wrap: normal; max-height: 600px; vertical-align: baseline; overflow: auto;"><code style="padding: 0px; margin: 0px; white-space: nowrap; border: 0px; background-color: rgb(246, 246, 246); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; vertical-align: baseline;"><span style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; font-size: 14px;"><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">[[[</span><span class="typ" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(43, 145, 175); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">NSBundle</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> mainBundle</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> infoDictionary</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span><span class="pln" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;"> objectForKey</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">:@</span><span class="str" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; color: rgb(128, 0, 0); border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">"CFBundleVersion"</span><span class="pun" style="padding: 0px; margin: 0px; line-height: 25.200000762939453px; border: 0px; background-image: none; background-attachment: scroll; background-color: transparent; vertical-align: baseline; background-position: 0% 0%; background-repeat: repeat repeat;">]</span></span></code>
0 0