我一直在构建一个Mac应用程序,它的一部分架构是它旋转了一个python子进程来索引后台的一些文件(有更简单的库用于python的索引)。它通过直接执行python文件来启动python。然后,父Mac应用程序和子python进程通过套接字相互通信。
将我的MacBook升级到El Capitan后,我遇到了此处所述的防火墙问题:How to allow Python.app to firewall on Mac OS X?。
当我打包我的应用程序并在El Capitan上第一次在本地部署时,我得到了相同的#34;你想要应用程序' Python.app'接受传入的网络连接"对话。我按照该帖子中的步骤为自己解决了问题。但是,我最终的目标是将我的应用程序分发给其他用户,在这种情况下,我不希望他们通过禁用系统完整性保护,如建议的帖子,以使我的应用程序正常工作。
我知道我可以尝试将索引功能集成到Mac应用程序本身,但是对于这个问题还有哪些其他可能的解决方案?我如何允许python进程通过套接字进行通信,而用户或我自己不需要经历复杂的代码签名过程?
答案 0 :(得分:0)
也许不是使用套接字,您可以通过从stdin读取和/或写入stdout来让Python进程与父进程通信?这样可以避免与防火墙的任何交互。