我正在使用QuickTime API,需要在後臺執行一些冗長的操作(如小時)。不幸的是,它並不是多線程友好的,所以我正在退回來在單獨的進程中執行任務,因此所有與QuickTime相關的調用都可以在其主線程中發生。如何從可可應用程序啓動並與無窗口和無控制檯進程進行通信?
啓動後,我需要一種獲取反饋的方法,因爲操作可能需要很長時間。
我不確定如何做到這一點,特別是:
- 應該在單獨的進程被編譯成另一個可可的應用程序或命令行工具?
- 如何從主可可應用程序啓動它?
- 如何定期從中獲取對象以獲取狀態信息?
- 如何確定何時完成?
- 如何避免在調用時顯示窗口/控制檯?
- 如何讓它成爲.app包的一部分,以便它不會作爲單獨的可執行文件顯示給用戶?
這些實際上是6+個問題,但它們非常相關且非常具體,我認爲任何需要啓動外部進程(而不是產卵工作線程)的人都可以從他們的答案中受益。通用代碼示例將非常有幫助。