using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
public class PlistElementAsArrayExample
{
[PostProcessBuild]
public static void AsArrayExample(BuildTarget buildTarget, string pathToBuiltProject)
{
if (buildTarget == BuildTarget.iOS)
{
// Read the contents of the Info.plist file that was generated during the build
string plistPath = pathToBuiltProject + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromFile(plistPath);
// Get root plist element
PlistElementDict rootDict = plist.root;
// Retrieve the supported orientations entry (which is called "UISupportedInterfaceOrientations" in the plist)
var orientations = rootDict["UISupportedInterfaceOrientations"];
// Use the AsArray helper method to convert the element to an array
PlistElementArray orientationsArray = orientations.AsArray();
// Add Portrait and PortraitUpsideDown as additional supported orientations
orientationsArray.AddString("UIInterfaceOrientationPortrait");
orientationsArray.AddString("UIInterfaceOrientationPortraitUpsideDown");
// Write the changes to the Info.plist file
plist.WriteToFile(plistPath);
}
}
}