自定义.plist文件未添加到ios项目中

本文关键字:ios 项目 添加 plist 文件 自定义 | 更新日期: 2023-09-27 18:19:47

我将材料路径存储在Unity中的.plist中,并在运行时在我的对象中呈现它们。代码如下:

public static Dictionary<string, object> uiElements = (Dictionary<string, object>)Plist.readPlist("Assets/EditUI.plist");
foreach (string key in User.purchasedItems.Keys) 
{
    GameObject tmpObj = (GameObject)Instantiate(Resources.Load(key) ,position ,Quaternion.identity);
    tmpObj.transform.localScale = Vector3.one;
    tmpObj.SetActive(true);
}

它在Unity编辑器中运行良好,但当我构建iOS(Xcode项目)时,没有加载任何内容。一切都是空的。我不知道问题是plist路径还是运行时加载。与自定义plist相关的东西也发布在这里,没有解决方案:

http://answers.unity3d.com/questions/468667/custom-plist-file-not-added-to-ios-project.html

自定义.plist文件未添加到ios项目中

您需要使用Unity的iOS Scripting API将文件添加到Xcode项目中。创建一个执行以下操作的PostProcessBuild脚本:

[PostProcessBuild]
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
{
    // Go get pbxproj file
    string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
    // PBXProject class represents a project build settings file,
    // here is how to read that in.
    PBXProject proj = new PBXProject ();
    proj.ReadFromFile (projPath);
    // This is the Xcode target in the generated project
    string target = proj.TargetGuidByName ("Unity-iPhone");
    // Copy plist from the project folder to the build folder
    FileUtil.CopyFileOrDirectory ("Assets/EditUI.plist", path + "/EditUI.plist");
    proj.AddFileToBuild (target, proj.AddFile("EditUI.plist", "EditUI.plist"));
    // Write PBXProject object back to the file
    proj.WriteToFile (projPath);
}