如何对 macOS 二进制文件进行代码签名以停止防火墙权限请求?
How to code sign macOS binary to stop firewall permissions requests?
Bowtie 应用程序已发布:http://bowtieapp.com。二进制文件可用,但源代码不可用。
macOS Sierra 10.12.5 Beta
上的问题是活动防火墙导致它在每次启动时请求防火墙权限。我怀疑这只能通过代码签名来解决。
有一个旧的修复程序似乎不再有效:
https://ivadrenaline.wordpress.com/2015/07/07/do-you-want-the-application-to-accept-incoming-network-connections/
您可以签署框架,但是当您签署整个应用程序时,您将获得:
/Applications/Bowtie.app/: resource fork, Finder information, or similar detritus not allowed
谷歌搜索该错误导致:https://developer.apple.com/library/content/qa/qa1940/_index.html
但是虽然应用程序上的 运行 xattr -cr
导致签名无误地继续进行,但它仍然不会阻止出现防火墙对话框权限请求。
我也尝试了 deep
版本的签名过程,但没有用。
我认为 Bowtie 本身有应用程序和一个辅助应用程序,因此它可能有多个可执行文件,并且与此项目相关:Application with multiple executables appears signed but triggers firewall warning
还:
Why is OSX continually asking for firewall permission for my app which is signed?
这个有希望的答案也没有奏效:
解决这个问题的方法是什么?
通过 macOS 系统偏好设置将应用程序手动添加到防火墙排除列表 UI 有效。 .app
很好,不需要找到可执行文件。我没有隔离这些更改,因此可能还需要使用失败的方法对应用程序进行代码签名 and/or 以通过终端手动设置防火墙排除项,正如以下线程中的另一个答案所建议的那样。
如果有人展示了如何正确地对其进行协同设计,我会注明最佳答案。
Bowtie 应用程序已发布:http://bowtieapp.com。二进制文件可用,但源代码不可用。
macOS Sierra 10.12.5 Beta
上的问题是活动防火墙导致它在每次启动时请求防火墙权限。我怀疑这只能通过代码签名来解决。
有一个旧的修复程序似乎不再有效: https://ivadrenaline.wordpress.com/2015/07/07/do-you-want-the-application-to-accept-incoming-network-connections/
您可以签署框架,但是当您签署整个应用程序时,您将获得:
/Applications/Bowtie.app/: resource fork, Finder information, or similar detritus not allowed
谷歌搜索该错误导致:https://developer.apple.com/library/content/qa/qa1940/_index.html
但是虽然应用程序上的 运行 xattr -cr
导致签名无误地继续进行,但它仍然不会阻止出现防火墙对话框权限请求。
我也尝试了 deep
版本的签名过程,但没有用。
我认为 Bowtie 本身有应用程序和一个辅助应用程序,因此它可能有多个可执行文件,并且与此项目相关:Application with multiple executables appears signed but triggers firewall warning 还: Why is OSX continually asking for firewall permission for my app which is signed? 这个有希望的答案也没有奏效:
解决这个问题的方法是什么?
通过 macOS 系统偏好设置将应用程序手动添加到防火墙排除列表 UI 有效。 .app
很好,不需要找到可执行文件。我没有隔离这些更改,因此可能还需要使用失败的方法对应用程序进行代码签名 and/or 以通过终端手动设置防火墙排除项,正如以下线程中的另一个答案所建议的那样。
如果有人展示了如何正确地对其进行协同设计,我会注明最佳答案。