我们在目标 c 中编写了一个简单的 OS X 可执行文件。它在调用时打开并运行得非常快。
然后,我们将该可执行文件放入 .app 包中。从该捆绑包的命令行调用“open”或从 finder 双击应用程序时,“open”调用可能需要 30 秒以上的时间才能返回。
这尤其令人困惑,因为“打开”清楚地立即启动可执行文件(我可以看到它立即在进程列表中运行,并且有其他迹象表明它正在工作),但是当从命令行完成时,“打开”命令需要很长时间才能返回,并且从 Finder 完成后,图标会弹跳很长时间,然后才能正常运行。
我知道可执行文件本身仍然会很快打开,因为在我的包内的可执行文件上调用“open”会很快返回,但是在 .app 上调用它会立即运行代码,但需要 30 秒左右才能返回。
有没有人遇到过这个?您对可能导致这种情况的原因有什么建议吗?我无法在包结构或 plist 中看到任何有趣的东西,但也许我遗漏了一些东西。