【发布时间】:2016-11-09 07:08:26
【问题描述】:
我一直在构建一个 Mac 应用程序,其架构的一部分是它衍生出一个 python 子进程来在后台索引一些文件(有更简单的库可用于为 python 建立索引)。它通过直接执行 python 文件来启动 python。然后,父 Mac 应用程序和子 python 进程通过套接字相互通信。
将我的 MacBook 升级到 El Capitan 后,我遇到了这里描述的防火墙问题:How to allow Python.app to firewall on Mac OS X?。
当我第一次在 El Capitan 上打包我的应用程序并在本地部署它时,我得到了相同的“你希望应用程序 'Python.app' 接受传入的网络连接吗”对话框。我按照那篇文章中的步骤为自己解决了这个问题。但是,我的最终目标是将我的应用分发给其他用户,在这种情况下,我不希望他们像帖子建议的那样禁用系统完整性保护以使我的应用正常工作。
我知道我可以尝试将索引功能集成到 Mac 应用程序本身中,但是还有哪些其他可能的解决方案来解决这个问题?我如何允许 python 进程通过套接字进行通信,而不需要用户或我自己进行复杂的代码签名过程?
【问题讨论】: