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

Use*_*ser 81 ios bundle-identifier swift ios8

如何在Swift中获取软件包ID?

Objective-C版本:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Run Code Online (Sandbox Code Playgroud)

Seb*_*ian 184

试试这个:

let bundleID = NSBundle.mainBundle().bundleIdentifier
Run Code Online (Sandbox Code Playgroud)

Swift 3+:

let bundleID = Bundle.main.bundleIdentifier
Run Code Online (Sandbox Code Playgroud)

  • 你知道为什么`bundleIdentifier`是可选的吗?在什么情况下它可以是"零"? (18认同)
  • @Alexander 当它不是主包时,或者缺少 `CFBundleIdentifier` (4认同)

Aks*_*Aks 6

如果您尝试以编程方式获取它,则可以使用以下代码行:

目标-C:

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
Run Code Online (Sandbox Code Playgroud)

斯威夫特 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier
Run Code Online (Sandbox Code Playgroud)

更新为最新的 swift 它适用于 iOS 和 Mac 应用程序。

欲了解更多信息,请点击此处:

苹果文档:https : //developer.apple.com/documentation/foundation/bundle#//apple_ref/occ/instm/NSBundle/bundleIdentifier


Col*_*aff 5

在Swift中几乎是一样的事情,除了类和方法的名称已经缩短了:

let bundleIdentifier = Bundle.main.bundleIdentifier // return type is String?
Run Code Online (Sandbox Code Playgroud)