Como posso obter uma sequência de caracteres do Identificador de pacote por meio de programação no meu aplicativo?
Como posso obter uma sequência de caracteres do Identificador de pacote por meio de programação no meu aplicativo?
Respostas:
Objetivo-C
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 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];
( documentação )
let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Você pode precisar da abordagem da Core Foundation para obter o valor. O exemplo do ARC é o seguinte:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
Eu uso essas macros para torná-lo muito mais curto:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
para que eu possa comparar assim:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}
Se você está tentando obtê-lo programaticamente, pode usar a linha de código abaixo:
Objetivo-C:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0:
let bundleIdentifier = Bundle.main.bundleIdentifier
Atualizado para a última atualização Ele funcionará para aplicativos iOS e Mac.