如果我有一个捆绑标识符作为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.