在 Obj-C 中,如何以编程方式在 Mac OS X 中设置文件的默认"open with"属性



在使用Cocoa(Obj-C)创建一些.mov文件时,我想将它们设置为默认由特定程序打开,而不是默认打开。 这应该是一个文件级属性,我不希望更改具有相同扩展名的所有文件的默认程序。 这是从可可本身完成的,而不是在"上下文菜单"中手动完成>>"获取信息">>"打开方式"。

有一个未记录的函数调用设置了这个:

// undocumented function call
extern OSStatus _LSSetStrongBindingForRef(const FSRef *inItemRef,
                                          FSRef *inAppRefOrNil);

*如果您在申请中使用它并将其提交给AppStore,则可能会被拒绝。

作为手动操作和从可可操作之间的中间,有一个名为"为文件设置应用程序"的"自动操作"。

我认为没有一种受支持的方法可以通过编程方式做到这一点,但有些人已经弄清楚 Finder 在做什么:添加包含应用程序完整路径的 'usro' 类型的资源。 例如,请参阅此讨论。 注意:资源管理器已从 10.8 开始弃用。

相关内容

  • 没有找到相关文章

最新更新