我一直在玩弄NSWorkspace。以编程方式启动应用程序
[NSWorkspace sharedWorkspace] launchApplication:@ “照片”]的作品
[NSWorkspace sharedWorkspace] launchApplication:@ “联系人”]不不工作
[NSWorkspace sharedWorkspace] launchApplication:@“/ Applications/Contacts.app”]作品
(Mac OS S ierra)
所以,我想知道是否有任何安全的方法来找到“真正的”应用程序路径。也许联系人应用程序在系统的不同本地化中有不同的名称?为什么只是“照片”工作正常?
我会想象应该有一种方法,从苹果公司记录的应用程序标识符获取应用程序路径,但我什么也没找到。
谢谢。这看起来像我在找什么。但是,你如何确定捆绑标识符 - 甚至可以确保它在时间上保持不变。我在APple的文档中找不到列表(尽管您可以在Internet上找到列表)。 –
应用程序标识符通常不会改变,除非发生剧烈变化(例如iPhoto已被Photos.app替代) –
是的,这就是我的意思。在这种情况下,使用包标识符的代码将被破坏。另一种解决方案可能是使用openURL:[NSURL URLWithString:@“photos://”]。不知道这是否更及时稳定,但我倾向于说iPhoto和Photos都支持该URL方案......如果第二天没有更好的东西出现,我会接受你的答案。 –