Xcode 4 встроить версию приложения в приложение iOS - PullRequest
2 голосов
/ 16 октября 2011

Возможно ли получить доступ к версии приложения , которую я указал в настройках проекта xcode из приложения?

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

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

Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 января 2012

Вы можете прочитать ваш Info.plist в своем основном комплекте для соответствующего ключа.

Пример кода:

NSBundle     *bundle    = [NSBundle mainBundle];
NSString     *infosPath = [bundle pathForResource:@"Info" ofType:@"plist"];
NSDictionary *infosDict = [[NSDictionary alloc] initWithContentsOfFile:infosPath];

NSLog(@"CFBundleVersion : %@" , [infosDict valueForKey:@"CFBundleVersion"]);

Я только что протестировал этот код и он работает нормально.Сделайте правый клик на вашем Info.plist, чтобы отобразить необработанные имена ключей.

Кроме того, я тестировал этот код с помощью списка свойств с пробелами в его именах, что дало мне 'null' для infosPath.Удаление пробела решает проблему.

1 голос
/ 14 марта 2012

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

NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
...