Как получить собственную версию приложения из xcode? - PullRequest
37 голосов
/ 31 октября 2011

Интересно, есть ли способ получить собственную версию приложения в коде после того, как вы поместили ее на вкладку «Сводка» в xCode.Кажется, один из способов - поиск Info.plist для ключа CFBundleVersion, но есть ли другой, более простой и удобный способ?

Ответы [ 4 ]

114 голосов
/ 31 октября 2011

Вы можете найти его в основном комплекте.Я думаю, что-то вроде:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
28 голосов
/ 24 мая 2012

Обычно я использую номер сборки (CFBundleVersion) для отслеживания, ну, в общем, количества сборок и номера версии (CFBundleShortVersionString) в маркетинговых целях. Я использую скрипт запуска для автоматического увеличения номера сборки и обновляю номер версии вручную перед каждым новым выпуском. Поэтому, если вы хотите включить в код реальный номер версии, а не номер сборки, используйте это:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

или

[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

Вот скрипт запуска, который увеличивает номер сборки для всех, кто интересуется:

#!/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}"
12 голосов
/ 31 октября 2011
NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
3 голосов
/ 22 августа 2017

Для Свифта:

Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...