如何使用Cocoa获取具有给定ID的捆绑包的URL,反之亦然?

如何使用Cocoa获取具有给定ID的捆绑包的URL,反之亦然?,cocoa,url,foundation,bundle-identifier,app-bundle,Cocoa,Url,Foundation,Bundle Identifier,App Bundle,如果我有一个bundle标识符作为字符串,我如何找到它标识的bundle的URL?相反,如果我有一个bundle的URL,我如何找到该bundle的标识符作为字符串 我只想使用Foundation/Cocoa API来实现这一点。您可以使用's后跟从捆绑包标识符获取URL,使用's后跟获取捆绑包的URL 例子: 让myBundleUrl=Bundle(标识符:“com.me.app”)?.bundleURL 让他们的bundleId=Bundle(url:url(fileURLWithPath:

如果我有一个bundle标识符作为
字符串
,我如何找到它标识的bundle的
URL
?相反,如果我有一个bundle的
URL
,我如何找到该bundle的标识符作为
字符串

我只想使用Foundation/Cocoa API来实现这一点。

您可以使用's后跟从捆绑包标识符获取URL,使用's后跟获取捆绑包的URL

例子:
让myBundleUrl=Bundle(标识符:“com.me.app”)?.bundleURL
让他们的bundleId=Bundle(url:url(fileURLWithPath:“/Applications/Mail.app”)?.bundleIdentifier


请注意,它还有一个API,用于从给定的bundle ID获取URL:。我在这里不推荐这个,因为
NSWorkspace
没有从
URL

获取标识符的API。对我来说,只有NSWorkspace方法可以通过包ID查找(另一个)应用程序。@gavv迷人!因此,当您将bundle ID传递给
bundle(标识符:)
时,您会得到
nil
?也许是沙箱之类的是的IIRC我没有收到。