如果我有一个捆绑标识符作为String
,我如何找出URL
它标识的捆绑包?相反,如果我有URL
捆绑包的 ,我如何找出捆绑包的标识符为String
?
我只想使用 Foundation/Cocoa API 来做到这一点。
如果我有一个捆绑标识符作为String
,我如何找出URL
它标识的捆绑包?相反,如果我有URL
捆绑包的 ,我如何找出捆绑包的标识符为String
?
我只想使用 Foundation/Cocoa API 来做到这一点。
您可以使用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
.