LibUtil.cs
1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#if UNITY_IOS
using System;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEditor.iOS;
using UnityEngine.XR.ARKit;
namespace UnityEditor.XR.ARKit
{
internal static class LibUtil
{
public static void SelectPlugin(
PluginImporter libXcode10,
PluginImporter libXcode11)
{
const BuildTarget platform = BuildTarget.iOS;
#if UNITY_EDITOR_OSX
var version = GetXcodeVersion();
if (version == new OSVersion(0))
throw new BuildFailedException($"Could not determine which version of Xcode was selected in the Build Settings. Xcode app was computed as \"{GetXcodeApplicationName()}\".");
if (version >= new OSVersion(11))
{
libXcode10?.SetCompatibleWithPlatform(platform, false);
libXcode11?.SetCompatibleWithPlatform(platform, true);
}
else
{
libXcode10?.SetCompatibleWithPlatform(platform, true);
libXcode11?.SetCompatibleWithPlatform(platform, false);
}
#else
libXcode10?.SetCompatibleWithPlatform(platform, false);
libXcode11?.SetCompatibleWithPlatform(platform, true);
#endif
}
static OSVersion GetXcodeVersion()
{
return OSVersion.Parse(GetXcodeApplicationName());
}
static string GetXcodeApplicationName()
{
var index = Math.Max(0, XcodeApplications.GetPreferedXcodeIndex());
return XcodeApplications.GetXcodeApplicationPublicName(index);
}
}
}
#endif