Browse Source

Detect MacCatalyst platform.

pull/768/merge
Canming Huang 1 year ago
parent
commit
bbeb004d56
  1. 5
      Emgu.CV/PInvoke/CvInvoke.cs
  2. 22
      Emgu.Util/Platform.cs

5
Emgu.CV/PInvoke/CvInvoke.cs

@ -450,7 +450,8 @@ namespace Emgu.CV
#if ( UNITY_WEBGL && ! UNITY_EDITOR )
_libraryLoaded = true;
#else
if (Emgu.Util.Platform.OperationSystem == Emgu.Util.Platform.OS.IOS)
if (Emgu.Util.Platform.OperationSystem == Emgu.Util.Platform.OS.IOS ||
Emgu.Util.Platform.OperationSystem == Emgu.Util.Platform.OS.MacCatalyst)
{
/*
Assembly assembly = Assembly.GetExecutingAssembly();
@ -468,7 +469,7 @@ namespace Emgu.CV
};
*/
//For iOS, library are static linked, assume correct loading by default.
//iOS or MacCatalyst libraries are static linked, assume correct loading by default.
_libraryLoaded = true;
return;
}

22
Emgu.Util/Platform.cs

@ -42,24 +42,30 @@ namespace Emgu.Util
_os = OS.Android;
_runtime = Clr.Mono;
}
else if (Emgu.Util.Toolbox.FindAssembly("Microsoft.Android.dll") != null)
{
//MAUI Android
_os = OS.Android;
_runtime = Clr.DotNet;
}
else if (Emgu.Util.Toolbox.FindAssembly("Xamarin.iOS.dll") != null)
{
//Xamarin iOS
_os = OS.IOS;
_runtime = Clr.Mono;
}
else if (Emgu.Util.Toolbox.FindAssembly("Microsoft.Android.dll") != null)
{
//MAUI Android
_os = OS.Android;
_runtime = Clr.DotNet;
}
else if (Emgu.Util.Toolbox.FindAssembly("Microsoft.iOS.dll") != null)
{
//MAUI iOS
_os = OS.IOS;
_runtime = Clr.DotNet;
}
else if (Emgu.Util.Toolbox.FindAssembly("Microsoft.MacCatalyst.dll") != null)
{
//MAUI MacCatalyst
_os = OS.MacCatalyst;
_runtime = Clr.DotNet;
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
_os = OS.MacOS;
@ -114,6 +120,10 @@ namespace Emgu.Util
/// </summary>
MacOS,
/// <summary>
/// Mac Catalyst. IPad app running on Mac OS.
/// </summary>
MacCatalyst,
/// <summary>
/// iOS devices. iPhone, iPad, iPod Touch
/// </summary>
IOS,

Loading…
Cancel
Save