# ReadFromString(string)

> Reads the project from the given string.

## Definition

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

```csharp
public void ReadFromString(string src)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The project contents.

### Remarks

Current contents of the project are discarded.

### Examples

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

public class Sample_ReadFromString  
{
    [PostProcessBuild]
    public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject)
    {

        // Stop processing if build target is not iOS
        if (buildTarget != BuildTarget.iOS)
            return;

        // Initialize PBXProject
        string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);

        // Read the project.pbxproj file into a string
        string pbxProjectContent = File.ReadAllText(projectPath);

        // Create a PBXProject object and read from the string
        PBXProject pbxProject = new PBXProject();
        pbxProject.ReadFromString(pbxProjectContent);

        // Get the target GUID you want to make modifications on
        string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();

        // Modify the project, such as adding a build propety
        pbxProject.AddBuildProperty(mainTargetGuid, "exampleProperty", "exampleValue");  

        // Convert the modified project back to a string
        string updatedPbxProjectContent = pbxProject.WriteToString();

        // Save the updated project string back to the project.pbxproj file
        File.WriteAllText(projectPath, updatedPbxProjectContent);
    }
}
```
