3

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

4

2 回答 2

5

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

// undocumented function call

extern OSStatus _LSSetStrongBindingForRef(const FSRef *inItemRef,
                                          FSRef *inAppRefOrNil);

*如果您在应用程序中使用它并将其提交到 AppStore,它可能会被拒绝。

于 2014-01-19T09:34:12.840 回答
1

作为手动和 Cocoa 之间的中间操作,有一个称为“为文件设置应用程序”的 Automator 操作。

我认为没有一种受支持的方式可以以编程方式执行此操作,但有些人已经弄清楚 Finder 在做什么:添加'usro'包含应用程序完整路径的类型资源。参见例如这个讨论。注意:自 10.8 起,资源管理器已弃用。

于 2014-01-19T08:03:23.330 回答