diff --git a/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs b/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs
new file mode 100644
index 000000000..9bb9712d9
--- /dev/null
+++ b/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs
@@ -0,0 +1,35 @@
+using UnityEditor;
+using UnityEditor.Callbacks;
+using UnityEditor.iOS.Xcode;
+
+public class iOSPBXProjectModifier
+{
+ [PostProcessBuildAttribute]
+ public static void OnPostProcessBuild(BuildTarget target, string buildPath)
+ {
+ // Modify Unity generated Xcode project to enable Unity as a library
+ if (target == BuildTarget.iOS)
+ {
+ // Read project
+ string projectPath = PBXProject.GetPBXProjectPath(buildPath);
+ PBXProject project = new PBXProject();
+ project.ReadFromFile(projectPath);
+
+ // Get main and framework target guids
+ string unityMainTargetGuid = project.GetUnityMainTargetGuid();
+ string unityFrameworkTargetGuid = project.GetUnityFrameworkTargetGuid();
+
+ // Set NativeCallProxy plugin header visibility to public
+ string pluginHeaderGuid = project.FindFileGuidByProjectPath("Libraries/Plugins/iOS/NativeCallProxy.h");
+ project.AddPublicHeaderToBuild(unityFrameworkTargetGuid, pluginHeaderGuid);
+
+ // Change data directory target membership to framework only
+ string dataDirectoryGuid = project.FindFileGuidByProjectPath("Data");
+ project.RemoveFileFromBuild(unityMainTargetGuid, dataDirectoryGuid);
+ project.AddFileToBuild(unityFrameworkTargetGuid, dataDirectoryGuid);
+
+ // Overwrite project
+ project.WriteToFile(projectPath);
+ }
+ }
+}
\ No newline at end of file
diff --git a/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs.meta b/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs.meta
new file mode 100644
index 000000000..87c800f2f
--- /dev/null
+++ b/UnityProject/Assets/Editor/iOSPBXProjectModifier.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 2a9df7e21d48b4196b32ba6bc8cbd6fe
\ No newline at end of file
diff --git a/docs/images/ios/dataTargetMembership.png b/docs/images/ios/dataTargetMembership.png
deleted file mode 100644
index 1373a57aa..000000000
Binary files a/docs/images/ios/dataTargetMembership.png and /dev/null differ
diff --git a/docs/images/ios/nativeCallProxyTarget.png b/docs/images/ios/nativeCallProxyTarget.png
deleted file mode 100644
index 724efeea6..000000000
Binary files a/docs/images/ios/nativeCallProxyTarget.png and /dev/null differ
diff --git a/docs/ios.md b/docs/ios.md
index b1b3254f6..e385b4c0a 100644
--- a/docs/ios.md
+++ b/docs/ios.md
@@ -37,18 +37,9 @@ This document explains how to include Unity as a Library into standard iOS appli
- in "Build Phases" tab, expand "Link Binary With Libraries"
- remove UnityFramework.framework from the list (select it and press - )
-
-**5. Expose NativeCallProxy.h**
-
Native application implements NativeCallsProtocol defined in following file:
-- In Project navigator, find and select Unity-iPhone / Libraries / Plugins / iOS / NativeCallProxy.h
-- enable UnityFramework in Target Membership and set header visibility from project to public (small dropdown on right side to UnityFramework)
-
- **6. Make Data folder to be part of the UnityFramework**
-
By default Data folder is part of Unity-iPhone target, we change that to make everything encapsulated in one single framework file.
- - change Target Membership for Data folder to UnityFramework
-
- - (optional) If you want to use Unity-iPhone sheme you need to point UnityFramework to a new place where Data is located by calling from Unity-iPhone/MainApp/main.mm:
+ **5. (optional) If you want to use Unity-iPhone scheme**
+ - you need to point UnityFramework to a new place where Data is located by calling from Unity-iPhone/MainApp/main.mm:
```
[ufw setDataBundleId: "com.unity3d.framework"];
// On Demand Resources are not supported in this case. To make them work instead of the calls above