Had to look this up too.
Would be clear right from the start if this text was added to the explanation at the bottom: This expects the <plist> element (with its child elements). The <?xml ...> or <!DOCTYPE ...> tags are not needed.
I entered my plist values directly into xcode, opened up the plist with a text editor and copied that segment into the Custom PList field. When i saved/opened my project and selected the Info-App.plist XCode responded: “The data couldn’t be read because it isn’t in the correct format”
If i delete the ‘version="1.0"’ bit, i still get the same error message. If i delete the <plist> </plist>, i still get the same error. If It just contains the <key> <dict/> tags, xcode doesn’t parse the plist and my custom parameters aren’t stored. Seems like this Projucer feature needs some more work or at lease some better documentation for how to use it.
If it helps at all, this is what the Info-App.plist looks like with that custom plist data saved. you can see the dict for NSAppTransportSecurity isn’t being saved properly. the </dict> tag is not being included from the custom plist.
We need a working example, maybe in the ‘show text when empty’ of the projucer here … I’m still f**king around trying to make this work and hitting errors…
In the Custom Plist box is all you need to disable apples sensible security requirements and go shooting yourself in the foot with unencrypted connections…
Now I can go back to my even less favourite task of making an installer.
However, have you any idea how to get specific domains whitelisted, rather than the blanket approach of NSAllowsArbitraryLoads?
After much trawling through SO, I have the xml below… but it still doesn’t seem to be working. And now on top of this I can’t get ProJucer and Xcode to play nicely with the info-App.plist file… This really needs to be clearer!
I have almost the same XML and it works for me. The only difference is that I haven’t specified that NSExceptionMinimumTLSVersion key.
Beware, though, that these settings only apply for stand-alone applications: if yours is a plug-in, then most likely it inherits those settings from the loading process and you are pretty much at the mercy of the host then!
(I’ve been hit by this in an earlier version of Studio One, but now they have specified NSAllowsArbitraryLoads in their Info.plist so this is not an issue any more with that host)