2015-10-29 55 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); 
} 
相關問題