作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设您有一个应用程序的名称 Mail.app
,如何以编程方式从应用程序名称获取 com.apple.mail
?
最佳答案
以下方法将返回指定应用程序的应用程序包标识符:
- (NSString *) bundleIdentifierForApplicationName:(NSString *)appName
{
NSWorkspace * workspace = [NSWorkspace sharedWorkspace];
NSString * appPath = [workspace fullPathForApplication:appName];
if (appPath) {
NSBundle * appBundle = [NSBundle bundleWithPath:appPath];
return [appBundle bundleIdentifier];
}
return nil;
}
对于 Mail,您可以像这样调用该方法:
NSString * appID = [self bundleIdentifierForApplicationName:@"Mail"];
appID
现在包含 com.apple.mail
import AppKit
func bundleIdentifier(forAppName appName: String) -> String? {
let workspace = NSWorkspace.shared
let appPath = workspace.fullPath(forApplication: appName)
if let appPath = appPath {
let appBundle = Bundle(path: appPath)
return appBundle?.bundleIdentifier
}
return nil
}
// For Mail you can call the method like so:
let appID = bundleIdentifier(forAppName: "Mail")
<小时/>
fullPathForApplication:
/fullPath(forApplication:)
方法已在 macOS 10.15 中弃用 - 目前尚不清楚 future 的答案是什么。
关于cocoa - 如何从 Cocoa 中的应用程序名称获取 bundle 标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408293/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!