问题描述
我们最近将项目更新为Unity 2020.1.8f1 但是由于缺少plist键值对,它不会为iOS构建xcode项目。 这真的很奇怪,之前,我将构建xcode项目,然后修复plist内容,然后构建到iOS。
这是我尝试构建时遇到的错误。
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,Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
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());
}
}
}
例如,如果我使用“隐私-麦克风使用说明”或“ NSMicrophoneUsageDescription”作为密钥,则会得到完全相同的错误。
我添加的“添加plist内容”的调试行也从未在控制台中显示,所以也许此脚本无法正常工作?