Skip to main content

Apple macOS deployment

Products: Video Capture SDK .Net, Video Edit SDK .Net, Media Player SDK .Net, Media Blocks SDK .Net

You can use SDK for macOS to build macOS and MacCatalyst applications in .Net. Also, you can make MAUI, Avalonia, and other cross-platform applications.

NuGet deployment

You can use NuGet packages to deploy your application. Intel and Apple Silicon are supported.

macOS apps

For netX.0-macos target frameworks, you can use the following NuGet package:

MacCatalyst and MAUI apps

For netX.0-maccatalyst target frameworks (including MAUI applications), you can use the following NuGet package:

Also, you have to add a custom build target to your project file:

    <ItemGroup Condition="$(TargetFramework.Contains('-maccatalyst'))">
<PackageReference Include="VisioForge.CrossPlatform.Core.macCatalyst" Version="15.10.11"/>
</ItemGroup>

<Target Name="CopyNativeLibrariesToMonoBundle" AfterTargets="Build" Condition="$(TargetFramework.Contains('-maccatalyst'))">
<Message Text="Starting CopyNativeLibrariesToMonoBundle target..." Importance="High"/>

<PropertyGroup>
<AppBundleDir>$(OutputPath)$(AssemblyName).app</AppBundleDir>
<MonoBundleDir>$(AppBundleDir)/Contents/MonoBundle</MonoBundleDir>
</PropertyGroup>

<Message Text="AppBundleDir: $(AppBundleDir)" Importance="High"/>
<Message Text="MonoBundleDir: $(MonoBundleDir)" Importance="High"/>

<MakeDir Directories="$(MonoBundleDir)" Condition="!Exists('$(MonoBundleDir)')"/>

<Copy SourceFiles="@(None-&gt;'%(FullPath)')" DestinationFolder="$(MonoBundleDir)" Condition="'%(Extension)' == '.dylib' Or '%(Extension)' == '.so'">
<Output TaskParameter="CopiedFiles" ItemName="CopiedNativeFiles"/>
</Copy>

<Message Text="Copied native files:" Importance="High" Condition="@(CopiedNativeFiles) != ''"/>
<Message Text=" - %(CopiedNativeFiles.Identity)" Importance="High" Condition="@(CopiedNativeFiles) != ''"/>

<Message Text="Finished CopyNativeLibrariesToMonoBundle target." Importance="High"/>
</Target>

Please check the installation manual for macOS to know more.