2015-10-29 53 views
2

我将材料路径存储在Unity中的.plist中,并在运行时将它们呈现在我的对象中。代码如下所示:自定义.plist文件未添加到ios项目

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

回答

0

你需要使用Unity's 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); 
} 
相关问题