Exemplo n.º 1
0
    public static void OnPostProcessBuild(BuildTarget buildTarget, string buildPath)
    {
        Debug.Log("Didomi OnPostProcessBuild invoked" + buildPath);

        if (buildTarget == BuildTarget.iOS)
        {
            PostProcessorSettings.InitSettings();

            // PBXProject.GetPBXProjectPath returns the wrong path, we need to construct path by ourselves instead
            // var projPath = PBXProject.GetPBXProjectPath(buildPath);
            var projPath = buildPath + $"{PostProcessorSettings.FilePathSeperator}Unity-iPhone.xcodeproj{PostProcessorSettings.FilePathSeperator}project.pbxproj";
            var proj     = new PBXProject();
            proj.ReadFromFile(projPath);

            var targetGuid = proj.GetUnityMainTargetGuid();

            //// Configure build settings
            proj.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");

            proj.AddBuildProperty(targetGuid, "DEFINES_MODULE", "YES");
            proj.AddBuildProperty(targetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");

            proj.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks");
            proj.AddBuildProperty(targetGuid, "FRAMEWORK_SEARCH_PATHS", "$(inherited) $(PROJECT_DIR) $(PROJECT_DIR)/Frameworks");
            proj.AddBuildProperty(targetGuid, "DYLIB_INSTALL_NAME_BASE", "@rpath");
            proj.AddBuildProperty(targetGuid, "LD_DYLIB_INSTALL_NAME", "@executable_path/../Frameworks/$(EXECUTABLE_PATH)");

            SetupDidomiFrameworkForTargetSDK(proj, targetGuid, buildPath);
            CopyDidomiConfigFileToIOSFolder(proj, targetGuid, buildPath);
            CopyPackageJsonToIOSFolder(proj, targetGuid, buildPath);

            proj.WriteToFile(projPath);
        }
    }
Exemplo n.º 2
0
        public override IBuildPostprocessor CreateBuildPostprocessor()
        {
            PostProcessorSettings settings = new PostProcessorSettings {
                OsName           = "tvOS",
                MinimumOsVersion = MinimumOsVersion
            };

            return(new iOSBuildPostprocessor(settings));
        }
Exemplo n.º 3
0
    /// <summary>
    /// Update gradle properties in the Android project.
    /// </summary>
    /// <param name="path"></param>
    private static void UpdateGradleProperties(string path)
    {
        var unityGradleProperties   = $@"..{PostProcessorSettings.FilePathSeperator}gradle.properties";
        var unityGradleAbsolutePath = Path.Combine(path, unityGradleProperties);
        var gradleProperties        = File.ReadAllText(unityGradleAbsolutePath);

        if (gradleProperties.Contains("android.useAndroidX=false"))
        {
            PostProcessorSettings.ReplaceLineInFile(unityGradleAbsolutePath, "android.useAndroidX=false", "android.useAndroidX=true");
        }
        else if (!gradleProperties.Contains("android.useAndroidX=true"))
        {
            File.AppendAllText(unityGradleAbsolutePath, System.Environment.NewLine + "android.useAndroidX=true");
        }
    }
Exemplo n.º 4
0
 public void OnPostGenerateGradleAndroidProject(string path)
 {
     Debug.Log("Didomi OnPostGenerateGradleAndroidProject invoked " + path);
     PostProcessorSettings.InitSettings();
     AndroidPostProcess(path);
 }
Exemplo n.º 5
0
 public void SetSettings(PostProcessorSettings Settings)
 {
     this.Settings = Settings;
 }