59 lines
2.1 KiB
C#
59 lines
2.1 KiB
C#
// Copyright (c) 2025 Vuplex Inc. All rights reserved.
|
|
//
|
|
// Licensed under the Vuplex Commercial Software Library License, you may
|
|
// not use this file except in compliance with the License. You may obtain
|
|
// a copy of the License at
|
|
//
|
|
// https://vuplex.com/commercial-library-license
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
#if UNITY_STANDALONE_OSX
|
|
#pragma warning disable CS0618
|
|
using System.IO;
|
|
using UnityEditor;
|
|
using UnityEditor.Build;
|
|
using UnityEditor.Callbacks;
|
|
using UnityEngine.Rendering;
|
|
using Vuplex.WebView.Internal;
|
|
|
|
namespace Vuplex.WebView.Editor {
|
|
|
|
public class MacBuildScript : IPreprocessBuild {
|
|
|
|
public int callbackOrder { get => 0; }
|
|
|
|
public void OnPreprocessBuild(BuildTarget buildTarget, string buildPath) {
|
|
|
|
if (buildTarget != BuildTarget.StandaloneOSX) {
|
|
return;
|
|
}
|
|
#if !VUPLEX_DISABLE_GRAPHICS_API_WARNING
|
|
var selectedGraphicsApi = PlayerSettings.GetGraphicsAPIs(buildTarget)[0];
|
|
var error = VXUtils.GetGraphicsApiErrorMessage(selectedGraphicsApi, new GraphicsDeviceType[] { GraphicsDeviceType.Metal });
|
|
if (error != null) {
|
|
throw new BuildFailedException(error);
|
|
}
|
|
#endif
|
|
}
|
|
|
|
[PostProcessBuild]
|
|
public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject) {
|
|
|
|
if (target != BuildTarget.StandaloneOSX) {
|
|
return;
|
|
}
|
|
// Delete all of the .meta files added by Unity because they cause a codesign mismatch
|
|
// which causes app notarization to fail.
|
|
var metaFiles = Directory.GetFiles(pathToBuiltProject, "*.meta", SearchOption.AllDirectories);
|
|
foreach (var file in metaFiles) {
|
|
File.Delete(file);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif
|