【问题标题】:how to associate file type with specific application on Mac [duplicate]如何将文件类型与 Mac 上的特定应用程序相关联[重复]
【发布时间】:2014-03-29 17:45:03
【问题描述】:

根据文档类型方法,我已将特殊文件类型与我的应用程序相关联,请参阅How do I associate file types with an iPhone application?。但是,当我更改应用程序并再次安装它时,它可以工作。当我双击该文档时,它似乎仍然触发了旧文档!怎么改?

【问题讨论】:

标签: macos file-association


【解决方案1】:

您应该能够选择该文件并获取有关它的信息,并且应该有一个“打开方式”选项,您可以告诉 Mac 使用某个应用程序打开它。然后有一个“全部更改”按钮,意思是使用该应用程序打开所有这些文件类型。希望对您有所帮助!

【讨论】:

  • 感谢这么快的反应,我知道这种方式,但我要自动更改它。例如,我已经向客户发布了我的应用程序,我不想打扰客户手动完成。太麻烦了。我很好奇的是我已经替换了原来的应用程序,当我双击文件时,它仍然触发旧的?!
  • 啊,是啊...我不知道如何在别人的电脑上自动更改,对不起。
  • 没关系,还是谢谢你,等待答复:)
  • 我错误地认为 this 会起作用(但它不起作用):CTRL-单击文件,“打开方式”> 其他 > 查找文件 > 选择程序 > 选择“始终打开方式”。 dummies.com/how-to/content/…帮我看到你说的,就是先选择“Get Info”。
【解决方案2】:

Launch Services Programming Guide 将包含有关它的所有详细信息。

例如,您可以看看开源的duti 实用程序是如何做到的。

也可以用shell命令来完成:

defaults write com.apple.LaunchServices LSHandlers -array-add \
'{ LSHandlerContentType = "public.plain-text"; LSHandlerRoleAll = "com.apple.TextEdit"; }'

然后它需要重新启动才能生效。或者重启 LaunchServices:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

(您可能遇到过使用lsregister -kill -seed 使其立即生效的建议,但这会使 OS X 再次显示有关首次打开某些应用程序的警告)

This answer on apple.stackexchange 展示了如何使用 mdls 来查找命令行方法所需的 BundleIdentifier 和 ContentType。

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 2011-02-15
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2012-03-18
    相关资源
    最近更新 更多