gpt4 book ai didi

objective-c - cocoa 使用关联的应用程序打开多个文件

转载 作者:行者123 更新时间:2023-12-03 16:55:59 27 4
gpt4 key购买 nike

我有一个文件名数组,我想将其传递给外部应用程序进行打开。我想要执行以下操作之一:

a) 以某种方式指示 OSX 使用关联的应用程序打开所有这些文件,但它必须调用目标应用程序的 openFiles NSApplication 委托(delegate)方法b) 指定用于打开这些文件的应用程序(并调用 openFiles)

基本上,实现哪种解决方案并不重要,因为这些文件无论如何都会与目标应用程序关联。我将如何做其中一件事情?

最佳答案

要一次打开一大堆文件,请发送共享 NSWorkspace 对象 an openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers: message ,或调用 the LSOpenURLsWithRole functionthe LSOpenFromURLSpec function 。无论哪种方式,您都会将 URL 数组传递给要打开的项目。

其中每一个都可以让您识别要使用的特定应用程序。 NSWorkspace 允许您通过 bundle 标识符来指定它,而两个启动服务函数允许您向特定的应用程序 bundle 提供 URL 或 FSRef

… it must invoke the target app's openFiles NSApplication delegate method

这是不可能要求的,因为(a)应用程序可能是基于文档的,在这种情况下它可能没有 NSApplication 委托(delegate),即使有,这样的委托(delegate)也可能不会响应 application:openFiles: ,并且 (b) 应用程序可能不是基于 Cocoa 的,在这种情况下,它将直接处理 Open Documents Apple 事件。这些都与您的应用程序无关,因此不必担心。

关于objective-c - cocoa 使用关联的应用程序打开多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3328176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com