Как мое приложение для iphone может определить свой номер версии? - PullRequest
249 голосов
/ 19 января 2009

Я пишу приложение для iPhone. Он уже опубликован, но я хотел бы добавить функцию, в которой отображается номер его версии.

Я бы предпочел не делать это вручную с каждой версией, которую я выпускаю ...

Есть ли способ в target-C узнать, какая версия моего приложения?

Ответы [ 15 ]

4 голосов
/ 22 января 2009

Прочтите файл info.plist вашего приложения и получите значение для ключа CFBundleShortVersionString. Чтение info.plist даст вам объект NSDictionary

1 голос
/ 21 декабря 2016

Если вам нужна комбинация обоих версии и номер сборки , вот короткий путь с использованием Swift 3 :

let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"]!
let buildNum = Bundle.main.infoDictionary!["CFBundleVersion"]!
let versionInfo = "\(appVersion) (build \(buildNum))"
// versionInfo is now something like "2.3.0 (build 17)"

Добавьте as! String в конец строки appVersion или buildNum, чтобы получить только эту часть в качестве объекта String. Не нужно, хотя, если вы ищете полный versionInfo.

Надеюсь, это поможет!

0 голосов
/ 10 апреля 2019
func getAppVersion() -> String {
    let dictionary = Bundle.main.infoDictionary!
    let versionValue = dictionary["CFBundleShortVersionString"] ?? "0"
    let buildValue = dictionary["CFBundleVersion"] ?? "0"
    return "\(versionValue) (build \(buildValue))"
}

На основе ответа @rajat chauhan без принудительного приведения к String.

0 голосов
/ 24 октября 2017

Вы можете попробовать этот метод:

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
0 голосов
/ 19 января 2009

Это хорошая вещь, чтобы справиться с системой контроля версий. Таким образом, когда вы получаете отчет об ошибке от пользователя, вы можете проверить эту редакцию кода и (надеюсь) воспроизвести ошибку, выполняющую точно такой же код, что и пользователь.

Идея состоит в том, что каждый раз, когда вы делаете сборку, вы запускаете скрипт, который получает текущий номер ревизии вашего кода и обновляет файл в вашем проекте (обычно с некоторой формой замены токена). Затем вы можете написать подпрограмму обработки ошибок, которая всегда включает номер редакции в вывод ошибок, или вы можете отобразить его на странице «О программе».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...