简体   繁体   中英

Custom .plist file not added to ios project

I'm storing materials paths in .plist in Unity and rendering them in my objects at runtime. Code looks like this:

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);
}

It's working fine in Unity editor, but when I made iOS build (Xcode project), nothing is being loaded. Everything is empty. I couldn't figure out whether the problem is with plist path or loading on runtime. Something related to custom plist is also posted here with no solution:

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

You'll need to use Unity's iOS Scripting API to add the file to the Xcode project. Create a PostProcessBuild script that does something like this:

[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);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM