Thanks for clarifying your goals.
OK, let’s nail down some terminology first. Wi-Fi is not a messaging protocol. Wi-Fi is a link-level network protocol. Most Wi-Fi networks carry TCP/IP, with TCP being a transport protocol. Then, on top of TCP, there are a variety of messaging protocols, email, iMessage, and so on.
So the choice isn’t between SMS and Wi-Fi, it’s between SMS and some other messaging protocol.
With regards SMS, iOS has no APIs for sending SMS without user interaction (see QA1944 Sending SMS Programmatically). So if you choose SMS, you’ll have to implement your own SMS gateway. That is, you set up a server with the ability to send SMS messages and then have your clients connect to that server and ask it to send an SMS message on their behalf. This isn’t trivial, but it’s doable.
With regards other messaging protocols, the challenges relate to the devices to be notified. Does your organisation require that all users subscribe to some organisation-wide messaging service. If so, you should talk to the folks running that service to see if you can send messages that way.
If not, things get complex. For example, if your iPhone users only use iMessage, there’s no way for you to message them because there’s no way to send iMessages programmatically (and the protocol is not documented for third-party developers, so you can’t implement your own client).
The obvious fallback is email. I presume that your users will have email set up on their devices, so that solves that side of things. And, while iOS has no high-level API for sending email, the various email protocols are publicly documented, so you can implement your own sending code (or adopt some third-party library for this).
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"