Отримати пакет ідентифікатора програмно


229

Як я можу програмно отримати рядок ідентифікатора групи в моєму додатку?

Відповіді:


454

Ціль-С

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

Швидкий 1.2

let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier

Swift 3.0

let bundleIdentifier = Bundle.main.bundleIdentifier

Xamarin.iOS

var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier

10
Ця відповідь не обмежується iOS. Він працює і для додатків Mac.
Джонні

9
У Swift використовуйтеlet bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Tim Camber

1
(Ви можете видалити цей коментар), але мені дуже подобається читати відповідь, а потім у коментарі побачити щось на кшталт @Jonny s та Тіма (хоча це можна побачити і в іншій цілій відповіді), воно посилається на щось інше, що все ще актуально і корисний. Дякую за чудових хлопців громади
haxpor

2
Swift3:Bundle.main.bundleIdentifier!
Себастьян Рот


2

Можливо, вам знадобиться підхід Core Foundation, щоб отримати цінність. Приклад ARC наступний:

NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
                                                                     (const void *)(@"CFBundleIdentifier"));

2

Щоб отримати програмний ідентифікатор програми в Swift 3.0 :

Swift 3.0

let bundle = Bundle.main.bundleIdentifier

0

Я використовую ці макроси, щоб зробити їх значно коротшими:

#define BUNDLEID    [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]

#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]

тому я можу просто порівняти так:

if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
    //do this
}

0

Якщо ви намагаєтеся отримати це програмно, ви можете використовувати рядок коду нижче:

Завдання-C:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Оновлено до останнього швидкого. Він буде працювати як для iOS, так і для Mac.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.