如何在Swift中以编程方式获取应用ID?

时间:2017-05-30 21:37:59

标签: swift app-id

在macOS应用程序中,我使用此代码在Application Support文件夹中创建目录。

let directoryURL = appSupportURL.appendingPathComponent("com.myCompany.myApp").appendingPathComponent("Documents")

如何在Swift中以编程方式获取字符串 com.myCompany.myApp

我看到了这个问题,但我不确定如何在我的macOS Swift应用中使用它:Access App Identifier Prefix programmatically

2 个答案:

答案 0 :(得分:7)

if let bundleIdentifier = Bundle.main.bundleIdentifier {
    appSupportURL.appendingPathComponent("\(bundleIdentifier)").appendingPathComponent("Documents")
}

小解释:属性bundleIdentifier是可选的,因此您必须安全地解包该值,然后您不会被要求提供任何感叹号:)

答案 1 :(得分:1)

获取应用ID非常简单:

let bundleIdentifier =  Bundle.main.bundleIdentifier
  appSupportURL.appendingPathComponent("\(bundleIdentifier)").appendingPathComponent("Documents")

包标识符是分配给包的Info.plist文件中的CFBundleIdentifier键的字符串。此字符串通常使用反向DNS表示法进行格式化,以防止名称空间与其他公司的开发人员发生冲突。例如,Apple的Finder插件可能使用字符串com.apple.Finder.MyGetInfoPlugin作为其包标识符。不是将指针传递给代码周围的bundle对象,而是需要引用bundle的客户端可以简单地使用bundle标识符来检索它

更多细节&其他操作的详细信息,请检查

https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/AccessingaBundlesContents/AccessingaBundlesContents.html