如何解决由于缺少plist键值对,Unity 2020.1.8f1无法构建xcode项目
我们最近将项目更新为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)
我尝试将此脚本添加到资产中的Editor文件夹中
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内容”的调试行也从未在控制台中显示,所以也许此脚本无法正常工作?
解决方法
好的,所以我来看看构建设置。我一直在寻找是否可以在构建之前设置自定义info.plist文件,例如为Android设置自定义maintemplate.gradle。
我发现了...
看起来他们是最近随机添加的。 谢谢团结!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。