iOS Wi-Fi Profile Generator
daduckmsft.github.io
daduckmsft.github.io
<key>AutoJoin</key>
<true/>
<key>CaptiveBypass</key>
<false/>
<key>EncryptionType</key>
<string>None</string>
A whole bunch of key-value pairs at the same level? What kind of cursed XML is this?Good news! You don't have to imagine! You can live this fever dream yourself by using Xcode.
How a company with that much money can unironically produce such dumpster fire garbage of a so-called IDE is beyond my comprehension.
If Apple allowed other App Stores, they would have to make Xcode not suck.
It doesn’t. Xcode project files are something that look a bit like a cross between JSON and an INI file. This is unofficial documentation showing what it looks like:
http://www.monobjc.net/xcode-project-file-format.html
That isn’t a property list; it’s something inherited from Project Builder from NeXTSTEP, which Xcode was originally based upon. Xcode project files would be a lot easier to deal with if they were property list files, because they are a standard, documented format with official tools to work with them. The Xcode project file format isn’t officially documented and doesn’t have generic manipulation tools like plutil.
Maybe you are mixing the project file up with the Info.plist file? That is a property list file, but its purpose is to tell the operating system about the application. It’s not the Xcode project file.
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/...
I'm filing a human rights complaint at The Hague.
It's ordered, typed, can be validated by schema, and just takes the format you would write naturally and removes the boilerplate because your primitive collections in plist world aren't trees they're dicts and arrays just like in JSON.
<dict>
<entry>
<key>Greeting</key>
<value type="string">Hello World</value>
</entry>
</dict>
<dict>
<key>Greeting</key>
<string>Hello World</string>
</dict> <dt>term1</dt><dd>definition1</dd>
<dt>term2</dt><dd>definition2</dd>
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl...[2] https://www.w3.org/TR/2011/WD-html5-author-20110809/the-dl-e...
I remember seeing when I first started using OSX 10.0 about two decades ago and my reaction was about the same as yours. At least now `plutil` can output (and read) JSON, along with lots of other enhancements to make it slightly less insane to use.
I’ve used them for enrolling users to custom CardDAV/CalDAV servers and it is so cool - going from scanning a QR code to magically seeing new events and contacts showing up in the calendar and contact book.
Mobileconfig is an Apple-only MDM but it works on iOS and MacOS.
There’s webcal:// protocol for CalDAV subscriptions that works on Apple and Linux
Unfortunately the user story is bad on Android, where Google hates any standards.
Edit: You can test out a recent project I did with webcal at https://captnemo.in/blr-habba/
[1] https://wiki.mozilla.org/Thunderbird:Autoconfiguration
[2] https://support.microsoft.com/en-us/topic/outlook-2016-imple...
People who need profiles probably have better dedicated tools for the job. This website could be a nice educational resource for people who are unfamiliar but curious; it's just missing an explainer.
What is this for? Apple offers tools, such as Apple Configurator that allow you to create your own iOS Configuration Profiles. Apple Configurator is only availble for MacOS devices. This is useful if you do not have access to one but still need this.
This site will help generate a configuration profile based on the network information you provide. Using this, you can import the profile into your mobile devices (via a method such as an MDM).
You can see all of the modified output in the bottom as aqua text.
All of this is run client-side, within the browser.
Extra stuff:
Apple MDM Configuration Profile Reference
So first, even for completely bog standard config it can be an easy timesaver, as well as way to make a change in a single place in a deterministic fashion and then apply it uniformly. I use it a great deal just purely for my own personal and family devices for example. I've got lots of email accounts, WiFi networks, and so on, that aren't special but sizable in number. I've made a few profiles for those, which I can then take and install on each Mac, iPhone, or iPad to have all the accounts loaded saving some manual config work. If I need to change a password, add or remove, I can do it in one single place, and then push it out to do the config. No need to jump back and forth to a password manager doing lots of copypaste of passwords on the phone. It's not a huge deal but it's a pretty simple time saver.
Secondly, .mobileconfig will let you do stuff that you can't (officially) do at all otherwise, particularly on iDevices, so in that case it's simply the only easy way to get at certain functionality. Some functionality is only available to "supervised" devices you setup fresh under supervision now, and can give you a much deeper level control. For HN types, it can be useful to load your own private root CA and cert chains, cert using WPA Enterprise networks, etc. It's another way to make it harder to do certain activities with a stolen device.
I think a lot of people with Apple devices who don't "need" profiles could still find them handy honestly. It's not exposed very well but it's also no some horribly complex thing to get some value out of. There are a lot more people with iDevices then Macs (so that rules out Apple Configurator), and typical serious MDM offerings are all subscription based sadly. So in turn free tools for other platforms are nice to see.
https://dns.notjakob.com/tool.html
... which allows you to create configuration profiles for system-wide DoH settings which are, currently, not settable in the GUI settings.
So there's a mapping that is like SSID -> MAC. They can get reset. But I stopped turning it off on my phone.
The QR Code format is something like this ``` type = 'WPA' return `WIFI:S:${_ssid};P:${password};T:${type};${hidden};` ```
So the long standing bug (feedback id 9991042) we have filed with Apple is about a downgrade issue with QR Codes. If an iOS devices connects with a QR Code it will successfully connect with WPA3. But when the device goes to reconnect it has saved the SSID as a WPA2 network only and will incorrectly only authenticate with WPA2. This is very unfortunate because the zero-knowledge aspect of dragonfly in wpa3 is a huge step forward for wifi security. Although I guess it's all still resting on AES CTR at the end of the day :-)
This link explains how they are formatted: https://qifi.org
Push updated profile via MDM. End user should transparently receive the updated profile before logging into corp network.
No reconfiguration required on the user end. Reduced or no calls to internal tech support.
Personally, I just use the method you describe. Post a QR code for my guest network and be done with it.
If you have MDM, then great, use these. Otherwise, I have a QR code and plaintext on the back of many pantry door with WiFi deets.