【问题标题】:Obtain bundle identifier programmatically in Swift?在 Swift 中以编程方式获取包标识符?
【发布时间】:2014-11-11 20:59:06
【问题描述】:

如何在 Swift 中获取捆绑包 ID?

Objective-C 版本:

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

【问题讨论】:

    标签: ios swift ios8 bundle-identifier


    【解决方案1】:

    试试这个:

    let bundleID = NSBundle.mainBundle().bundleIdentifier
    

    斯威夫特 3+:

    let bundleID = Bundle.main.bundleIdentifier
    

    【讨论】:

    • 你知道为什么bundleIdentifier 是可选的吗?在什么情况下可以是nil
    • 有时不是关于在什么情况下达到高级开发时它可能是 nil,而是关于在哪些情况下它可能是 nil。
    • @Alexander 不是主包,或者CFBundleIdentifier 丢失
    【解决方案2】:

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

    目标-C:

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

    斯威夫特 3.0:

    let bundleIdentifier =  Bundle.main.bundleIdentifier
    

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

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

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

    【讨论】:

    • 嘿检查 swift3,删除你的否定检查。
    【解决方案3】:

    这在 Swift 中几乎是一样的,只是类名和方法名被缩短了:

    let bundleIdentifier = Bundle.main.bundleIdentifier // return type is String?
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-24
      • 2016-06-10
      • 2018-12-15
      • 2020-02-29
      • 2012-04-23
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      相关资源
      最近更新 更多