以编程方式获取捆绑包标识符


229

如何从我的应用程序中以编程方式获取捆绑标识符字符串?

Answers:


454

物镜

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

斯威夫特1.2

let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier

斯威夫特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和Tim这样的感觉(尽管您可以在另一个完整答案中看到它),它链接到其他仍然有意义的内容,并且有用。感谢伟大的社区人士。
haxpor 2015年

2
Swift3:Bundle.main.bundleIdentifier!
塞巴斯蒂安·罗斯

49
[[NSBundle mainBundle] bundleIdentifier];

文件


在Swift中,使用let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier
Tim Camber


2

以编程方式获取包标识符 Swift 3.0中以

斯威夫特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应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.