我谨的 最后安装的 我Mac OS X应用与某种类型的文件。一个小实验显示了, 信息。plist 文件中似乎可以阅读和解释由操作系统时启动应用程序,不当拖束的应用程序的磁盘。 苹果的文件在运行时配置 不会说太多关于这一主题。

是否有任何方法,使用简单的 .dmg 图像作为安装媒体,确保系统伙伴,特别是文件的类型,与我的新安装应用程序 没有必要启动它 第一个?

我应该澄清,我希望这是自动完成的安装过程中(我不想我的用户必须这样做)。

有帮助吗?

解决方案

当用户将应用程序拖到“应用程序”文件夹中时,系统应自动将其注册到“启动服务”。参见“应用程序注册”。

其他提示

您可以通过在要与应用程序关联的文件上键入apple-I来执行此操作,使用名为<!>的小方框“打开... <!>;并选择您的应用程序。你可以查看下面的小方框<!>“更改所有... <!>”;对所有类似文件进行更改。

尽管Tony的信息是正确的--还有解释 在这里, --(即拖 MyApp.appApplications 将登记与发射服务的自动使用的信息 Info.plist xml文件并设置文件的协会),它并没有完全回答这个问题关于文件的关联。

如果人们遵守这些指令,他们会有自己的应用程序开启,但没有具体的文件开放。

[...]确保系统联营, 特定类型的文件 与我的新安装应用程序

文件协会是一个有点不同,在Mac作为相对于其他平台。大多数平台时 *.foo 注册 myapp, 时 MyFile.foo 双击,它将调度沿线的东西:

/path/to/myapp MyFile.foo

虽然你可以自由使用这种技术上的命令行Mac得成功,它只是 不会的工作,通过搜索 也不会的工作,通过双击相关的文件在桌面上。

提问和回答:

https://stackoverflow.com/a/19702342/3196753

一些权利要求的是这种做法是有利的,在保守的文件-打开-文件处理中 main() 因为"只打开一个实例应用程序"。不管背后的理由这一决定,这进一步复杂化问题从C++的观点。

  • 108页提供PDF 在这里, (警告,这是标记为"遗产",linkrot可能发生)。
  • 有关文件,从苹果的开发门户网站的可用 在这里,.
  • 夸脱的方法是记录在案 在这里,.

从夸脱io:

当用户双击的文件搜索,查找器发送一个苹果的事件的应用有关的文件,并要求它打开文件。如果申请不是在运行,它是推出,然后请求作出的。这种方法的优点是,只有一个实例应用程序的运行。

在窗户,这通常是通过启动程序并通过该文件的名称作为命令行参数。看在许多结果文件在开展许多情况下的相同应用程序。(该QtSingleApplication组件、可作为一个脱解决方案,解决了这个问题。)

脱3没有提供一个抽象的概念,用于处理苹果的事件,但它是直接增加支持它们在应用程序中使用的碳API。让我们假设,我们有一个应用程序称为XpmViewer显示XPM文件(X11图像格式)。主窗口类声明如下:[code snippet删除]

(BOOL)application:(NSApplication *)theApplication
       openFile:(NSString *)filename

处理Mac OS X的文件公开事件之前,C++主()执行 AEInstallEventHandler处理程序不是正在呼吁启动

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top