我正在使用QuickTime API,需要在后台执行一些冗长的操作(如小时)。不幸的是,它并不是多线程友好的,所以我正在退回来在单独的进程中执行任务,因此所有与QuickTime相关的调用都可以在其主线程中发生。如何从可可应用程序启动并与无窗口和无控制台进程进行通信?
启动后,我需要一种获取反馈的方法,因为操作可能需要很长时间。
我不确定如何做到这一点,特别是:
- 应该在单独的进程被编译成另一个可可的应用程序或命令行工具?
- 如何从主可可应用程序启动它?
- 如何定期从中获取对象以获取状态信息?
- 如何确定何时完成?
- 如何避免在调用时显示窗口/控制台?
- 如何让它成为.app包的一部分,以便它不会作为单独的可执行文件显示给用户?
这些实际上是6+个问题,但它们非常相关且非常具体,我认为任何需要启动外部进程(而不是产卵工作线程)的人都可以从他们的答案中受益。通用代码示例将非常有帮助。