# PlistDocument

> Represents an Apple property list document. For more information on property lists, refer to Apple's documentation.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.iOS.Xcode](/engine/6000.7/script-reference/unityeditor/ios/xcode.md)
* **Assembly:** UnityEditor.iOS.Extensions.Xcode

```csharp
public class PlistDocument
```

## Examples

```csharp
using System;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;

public class PlistDocumentExample
{
    [PostProcessBuild]
    public static void PlistDocumentAPIExample(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;

            // Use helper methods such as SetBoolean, SetInteger or SetDate to modify or create new Info.plist entries
            // If a specified key doesn't already exist in the Info.plist, a new entry will be created
            rootDict.SetBoolean("ExampleBoolean", true);
            rootDict.SetInteger("ExampleInteger", 10);
            rootDict.SetDate("ExampleDate", DateTime.Today);

            // Write the changes to the Info.plist file
            plist.WriteToFile(plistPath);
        }
    }
}
```

## Fields

| Value                                                                                     | Description                                                                                            |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| [root](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/root.md)       | The root element of the property list document.                                                        |
| [version](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/version.md) | The version of the property list document. At the moment Apple uses '1.0' for all property list files. |

## Constructors

| Constructor                                                                                    | Description                                    |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| [PlistDocument()](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/ctor.md) | Creates a new property list document instance. |

## Methods

| Method                                                                                                  | Description                                                  |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [Create](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/create.md)                 | Create a new property list Document.                         |
| [ReadFromFile](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/readfromfile.md)     | Reads the document from a file identified by the given path. |
| [ReadFromStream](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/readfromstream.md) | Reads the project from the given text reader.                |
| [ReadFromString](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/readfromstring.md) | Reads the document from the given string.                    |
| [WriteToFile](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/writetofile.md)       | Writes the project contents to the specified file.           |
| [WriteToStream](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/writetostream.md)   | Writes the document contents to the specified text writer.   |
| [WriteToString](/engine/6000.7/script-reference/unityeditor/ios/xcode/plistdocument/writetostring.md)   | Writes the document contents to a string.                    |
