如何从我的应用程序中以编程方式获取Bundle Identifier的字符串?
答案 0 :(得分:414)
目标-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
答案 1 :(得分:47)
[[NSBundle mainBundle] bundleIdentifier];
答案 2 :(得分:2)
您可能需要Core Foundation方法才能获得价值。 ARC示例如下:
NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
(const void *)(@"CFBundleIdentifier"));
答案 3 :(得分:2)
以编程方式在 Swift 3.0 中获取捆绑包标识符:
Swift 3.0
let bundle = Bundle.main.bundleIdentifier
答案 4 :(得分:0)
如果您尝试以编程方式获取它,则可以使用以下代码行:
目标-C:
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Swift 3.0:
让bundleIdentifier = Bundle.main.bundleIdentifier
针对最新的swift进行了更新它适用于iOS和Mac应用程序。
答案 5 :(得分:0)
我使用这些宏来缩短它的时间:
#define BUNDLEID [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]
#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]
所以我可以这样比较:
if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
//do this
}