How to get rid of firewall asking when developing a program?

When you develop a program you compile a web server as an executable server.

When you run it the firewall would ask "Do you want the application 'server' to accept incoming network connections?".

You click yes. Then you do some changes and recompile the program, and the firewall would ask again (I suppose because it's detect that the executable has been changed).

How to get rid of that question? I don't want to disable firewall, I only want to disable it for this specific program.


Solution 1:

Code Signing

Your binary needs to be code signed with codesign.

The permission to accept incoming network connections is associated with the meta-data and signature of the binary, not the specific binary. The intent is to allow users to upgrade their software without discarding all their previous security settings.