如何从xcode获取自己的应用程序版本?

Val*_*adu 38 iphone xcode ipad ios

我想知道在将其放入xCode的"摘要"选项卡后,是否有办法在代码中获取自己的应用程序版本.一种方法似乎是搜索Info.plistCFBundleVersion关键,但没有任何其他的,更简单,更方便的方法?

Chr*_*det 115

您可以在主捆绑中找到它.我认为它是这样的:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但是`@"CFBundleVersion"`返回构建而不是版本.你应该得到这个对象:`@"CFBundleShortVersionString"` (12认同)

Ant*_*ony 28

我通常使用Build number(CFBundleVersion)来跟踪构建的数量,以及CFBundleShortVersionString用于营销目的的Version number().我使用运行脚本自动增加我的内部版本号,并在每个新版本之前手动更新版本号.因此,如果要在代码中包含实际版本号而不是内部版本号,请使用以下命令:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
Run Code Online (Sandbox Code Playgroud)

要么

[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
Run Code Online (Sandbox Code Playgroud)

这是运行脚本,为任何感兴趣的人增加内部版本号:

#!/bin/bash

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
Run Code Online (Sandbox Code Playgroud)


小智 13

对于斯威夫特:

Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")
Run Code Online (Sandbox Code Playgroud)


Ara*_*han 12

NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
Run Code Online (Sandbox Code Playgroud)