We recently updated a project to Unity 2020.1.8f1 But it will not build the xcode project for iOS because of missing plist key value pairs. This is really weird cus, before, I would build the xcode project, then fix the plist stuff, then build to iOS.
Here are the errors Im getting when I try to build.
WebCamTexture class is used but Camera Usage Description is empty. App will not work on iOS 10+.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean &)(at / Users / bokken / buildslave / unity / build / Modules / IMGUI / GUIUtility.cs:189)
Microphone class is used but Microphone Usage Description is empty. App will not work on iOS 10+.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
I tried adding this script to Editor folder in assets
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using System.Collections;
using UnityEditor.iOS.Xcode;
using System.IO;
public class AddStuffToplist {
[PostProcessBuild]
public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject)
{
if (buildTarget == BuildTarget.iOS) {
Debug.Log("adding plist stuff");
// Get plist
string plistPath = pathToBuiltProject + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromString(File.ReadAllText(plistPath));
// Get root
PlistElementDict rootDict = plist.root;
rootDict.SetString("NSCameraUsageDescription","Natcorder unity asset uses this");
rootDict.SetString("NSMicrophoneUsageDescription","Natcorder unity asset uses this");
rootDict.SetString("NSPhotoLibraryUsageDescription","Natcorder unity asset uses this");
//rootDict.SetString("Privacy - Photo Library Usage Description", "Natcorder unity asset uses this");
//rootDict.SetString("Privacy - Microphone Usage Description", "Natcorder unity asset uses this");
// Write to file
File.WriteAllText(plistPath, plist.WriteToString());
}
}
}
I get exactly the same errors if I use Privacy - Microphone Usage Description or NSMicrophoneUsageDescription as the key for example.
Also the debug line I added "adding plist stuff" never shows up in the console, so maybe this script is not working?