2

如果我有一个捆绑标识符作为String,我如何找出URL它标识的捆绑包?相反,如果我有URL捆绑包的 ,我如何找出捆绑包的标识符为String

我只想使用 Foundation/Cocoa API 来做到这一点。

4

1 回答 1

2

您可以使用Bundle'init(identifier:)后跟从bundleURL包标识符中获取 URL,并使用Bundle'init(url:)后跟bundleIdentifier来获取包的 URL。

例子:

let myBundleUrl = Bundle(identifier: "com.me.app")?.bundleURL

let theirBundleId = Bundle(url: URL(fileURLWithPath: "/Applications/Mail.app"))?.bundleIdentifier

就像注释一样,NSWorkspace还有一个 API 用于从给定的 bundle ID 获取 URL urlForApplication(withBundleIdentifier:):。我在这里不推荐这个,因为NSWorkspace没有用于从URL.

于 2018-09-04T19:42:33.413 回答