// Handle delayed loading of the dependency resolvers.
    private static void OnPostprocessAllAssets(
        string[] importedAssets, string[] deletedAssets,
        string[] movedAssets, string[] movedFromPath)
    {
        foreach (string asset in importedAssets)
        {
            if (asset.Contains("IOSResolver") || asset.Contains("JarResolver"))
            {
                RegisterDependencies();
                break;
            }
        }

        UnitySocialSettings settings = UnitySocialSettingsEditor.LoadSettings();

        if (settings == null)
        {
            return;
        }

        PluginImporter[] pluginImporters = PluginImporter.GetAllImporters();
        foreach (PluginImporter pluginImporter in pluginImporters)
        {
            if (pluginImporter.assetPath.Contains("Plugins/UnitySocial/Native/Android"))
            {
                pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, settings.androidSupportEnabled);
            }
        }
    }
예제 #2
0
    public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
    {
        try
        {
            UnitySocialSettings settings = UnitySocialSettingsEditor.LoadSettings();

            if (settings != null && settings.IsValid)
            {
                if (settings.iosSupportEnabled && target == kBuildTarget_iOS)
                {
                    if (pathToBuiltProject.StartsWith("./"))   // Fix two erroneous path cases on Unity 5.4f03
                    {
                        pathToBuiltProject = Path.Combine(Application.dataPath.Replace("Assets", ""), pathToBuiltProject.Replace("./", ""));
                    }
                    else if (pathToBuiltProject.Contains("./"))
                    {
                        pathToBuiltProject = pathToBuiltProject.Replace("./", "");
                    }

                    UpdateXcodeProject(pathToBuiltProject);
                    UpdatePlist(pathToBuiltProject, settings.clientId);

                    Debug.Log("Unity Social postprocess done.");
                }
            }
            else if (settings.androidSupportEnabled && target == BuildTarget.Android)
            {
                PluginImporter[] pluginImporters = PluginImporter.GetAllImporters();
                foreach (PluginImporter pluginImporter in pluginImporters)
                {
                    if (pluginImporter.assetPath.Contains("Plugins/UnitySocial/Native/Android"))
                    {
                        pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, settings.androidSupportEnabled);
                    }
                }
            }
        }
        catch (Exception e)
        {
            Debug.Log("Unity Social postprocess failed: " + e.ToString());
        }
    }