38 строки
962 B
C#
38 строки
962 B
C#
using System;
|
|
using Clang;
|
|
using static Extrospection.Helpers;
|
|
|
|
namespace Extrospection
|
|
{
|
|
public static class VersionHelpers
|
|
{
|
|
public static Version Convert (VersionTuple version)
|
|
{
|
|
uint major = version.Major;
|
|
uint minor = version.Minor.HasValue ? version.Minor.Value : 0;
|
|
if (version.Subminor.HasValue)
|
|
return new Version ((int)major, (int)minor, (int)version.Subminor.Value);
|
|
else
|
|
return new Version ((int)major, (int)minor);
|
|
}
|
|
|
|
public static bool VersionTooOldToCare (VersionTuple version)
|
|
{
|
|
switch (Helpers.Platform) {
|
|
case Platforms.iOS:
|
|
return version.Major < 6;
|
|
case Platforms.macOS:
|
|
return version.Minor < 7;
|
|
case Platforms.tvOS:
|
|
return version.Major < 9;
|
|
case Platforms.watchOS:
|
|
return version.Major < 2;
|
|
case Platforms.MacCatalyst:
|
|
return version.Major < 13;
|
|
default:
|
|
throw new InvalidOperationException ($"Unknown platform {Platform} in VersionTooOldToCare");
|
|
}
|
|
}
|
|
}
|
|
}
|