Як я можу програмно отримати рядок ідентифікатора групи в моєму додатку?
Як я можу програмно отримати рядок ідентифікатора групи в моєму додатку?
Відповіді:
Ціль-С
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
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Bundle.main.bundleIdentifier!
[[NSBundle mainBundle] bundleIdentifier];
( документація )
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Можливо, вам знадобиться підхід Core Foundation, щоб отримати цінність. Приклад ARC наступний:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
Я використовую ці макроси, щоб зробити їх значно коротшими:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
тому я можу просто порівняти так:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}
Якщо ви намагаєтеся отримати це програмно, ви можете використовувати рядок коду нижче:
Завдання-C:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0:
let bundleIdentifier = Bundle.main.bundleIdentifier
Оновлено до останнього швидкого. Він буде працювати як для iOS, так і для Mac.