Thank you for your response.
Those are two radically different environments. Most of your question seems to pertain to macOS. But you said you're new to the platform, and learning how to swim by diving into the deep end.
Correct. I'm targetting MacOS. I Would target both, but the network extension I want to use aren't available in iOS unless it's on a managed device, which I'm not prepared to consider yet.
What do you mean by "modern best practices"? It would really be helpful if you provided some context.
For example, when researching daemons, it looks like their are multiple folder paths to put them in as well as multiple ways to launch them. How am I supposed to know which is considered best practice?
Do you have a contract and funding to write this macOS network app? If so, then there do exist some older documentation and newer tips on Apple-approved ways to accomplish this task. But unless someone is already paying you a lot of money to do this, I wouldn't even call it a "good idea", let alone a "best practice."
No contract. No funding. I'm writing this in what little spare time I can claw and scratch for myself.
You mentioned a network extension. It would be a better idea to start your search there. Network extensions are a relatively new artifact that is relatively well-understood, documented, and supported in modern versions of macOS. If you go looking for daemons, you're likely to get stuck in ideas from a decade ago, if not older. I'm not even sure you should be using a daemon at all.
It's my understanding that I have to use a daemon because A) I plan on using a privileged port, and B) I want it to be long running and available system wide regardless of user. Is there some other way to achieve this? I'm not married to the idea of a daemon.
This part is easy enough. Modern best practice is to bundle all of this inside the app bundle. You start with an app and then add a "network extension" target. The "best practice" would be to start with a WWDC video on modern network extensions. Note that "modern" is becoming a shorter and shorter timeframe. It's almost measured in months at this point.
Thanks.
I strongly recommend starting with a WWDC video. I'm sure there are many. Network extensions are an absurdly popular thing these days. Then look at the documentation.
Will do.
Topic:
App & System Services
SubTopic:
General
Tags: