如何使用 Cocoa 获取具有给定 ID 的捆绑包的 URL,反之亦然?
How do I use Cocoa to get a URL of a bundle with a given ID, or vice versa?
如果我有一个包标识符 String
,我如何找出它标识的包的 URL
?相反,如果我有一个包的 URL
,我如何找出该包的标识符作为 String
?
我只想使用 Foundation/Cocoa 个 API 来执行此操作。
您可以使用 Bundle
's init(identifier:)
followed by bundleURL
to get a URL from a bundle identifier, and Bundle
's init(url:)
followed by bundleIdentifier
获取捆绑包的 URL。
示例:
let myBundleUrl = Bundle(identifier: "com.me.app")?.bundleURL
let theirBundleId = Bundle(url: URL(fileURLWithPath: "/Applications/Mail.app"))?.bundleIdentifier
作为注释,NSWorkspace
also has an API for getting a URL from a given bundle ID: urlForApplication(withBundleIdentifier:)
。我在这里不推荐这个,因为 NSWorkspace
没有用于从 URL
.
获取标识符的 API
如果我有一个包标识符 String
,我如何找出它标识的包的 URL
?相反,如果我有一个包的 URL
,我如何找出该包的标识符作为 String
?
我只想使用 Foundation/Cocoa 个 API 来执行此操作。
您可以使用 Bundle
's init(identifier:)
followed by bundleURL
to get a URL from a bundle identifier, and Bundle
's init(url:)
followed by bundleIdentifier
获取捆绑包的 URL。
示例:
let myBundleUrl = Bundle(identifier: "com.me.app")?.bundleURL
let theirBundleId = Bundle(url: URL(fileURLWithPath: "/Applications/Mail.app"))?.bundleIdentifier
作为注释,NSWorkspace
also has an API for getting a URL from a given bundle ID: urlForApplication(withBundleIdentifier:)
。我在这里不推荐这个,因为 NSWorkspace
没有用于从 URL
.