macOS - 获取当前 运行 应用程序的路径
macOS - Get path to currently running application
问题
是否可以确定 macOS 应用程序在 运行 时的启动位置?
上下文
我开发了一个 Safari 扩展,为了启用该扩展,应用程序需要存在 /Applications/
。一些用户尝试直接从 DMG 文件 运行 应用程序,然后抱怨该扩展没有出现在 Safari 的扩展设置中。我想检测到这一点并提醒他们他们需要移动文件。
您可以使用 NSBundle
,特别是 bundlePath
属性。 documentation 表示:
The full pathname of the receiver’s bundle directory.
你可以像这样使用它:
NSString* bundlePath;
bundlePath = [[NSBundle mainBundle] bundlePath]
NSLog(@"%@", bundlePath);
如果您希望使用 NSURL
而不是字符串,还有 bundleURL
。
问题
是否可以确定 macOS 应用程序在 运行 时的启动位置?
上下文
我开发了一个 Safari 扩展,为了启用该扩展,应用程序需要存在 /Applications/
。一些用户尝试直接从 DMG 文件 运行 应用程序,然后抱怨该扩展没有出现在 Safari 的扩展设置中。我想检测到这一点并提醒他们他们需要移动文件。
您可以使用 NSBundle
,特别是 bundlePath
属性。 documentation 表示:
The full pathname of the receiver’s bundle directory.
你可以像这样使用它:
NSString* bundlePath;
bundlePath = [[NSBundle mainBundle] bundlePath]
NSLog(@"%@", bundlePath);
如果您希望使用 NSURL
而不是字符串,还有 bundleURL
。