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); } }
public override IBuildPostprocessor CreateBuildPostprocessor() { PostProcessorSettings settings = new PostProcessorSettings { OsName = "tvOS", MinimumOsVersion = MinimumOsVersion }; return(new iOSBuildPostprocessor(settings)); }
/// <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"); } }
public void OnPostGenerateGradleAndroidProject(string path) { Debug.Log("Didomi OnPostGenerateGradleAndroidProject invoked " + path); PostProcessorSettings.InitSettings(); AndroidPostProcess(path); }
public void SetSettings(PostProcessorSettings Settings) { this.Settings = Settings; }