Runic.Platform.MacOS
0.3.0-preview.1
dotnet add package Runic.Platform.MacOS --version 0.3.0-preview.1
NuGet\Install-Package Runic.Platform.MacOS -Version 0.3.0-preview.1
<PackageReference Include="Runic.Platform.MacOS" Version="0.3.0-preview.1" />
<PackageVersion Include="Runic.Platform.MacOS" Version="0.3.0-preview.1" />
<PackageReference Include="Runic.Platform.MacOS" />
paket add Runic.Platform.MacOS --version 0.3.0-preview.1
#r "nuget: Runic.Platform.MacOS, 0.3.0-preview.1"
#:package Runic.Platform.MacOS@0.3.0-preview.1
#addin nuget:?package=Runic.Platform.MacOS&version=0.3.0-preview.1&prerelease
#tool nuget:?package=Runic.Platform.MacOS&version=0.3.0-preview.1&prerelease
Runic.Platform.MacOS
Explicit AppKit file dialogs and text clipboard for embedded Runic Desktop on macOS arm64. Select MacOSPlatformProvider.CreateFileDialogs(owner) and CreateTextClipboard(owner) using a verified presentation owner from the Desktop adapter. Referencing other providers is unnecessary. Native handles and selected paths remain in C#.
File panels are owned sheets. The retained selected NSURL keeps its security-scoped access until its lease closes; each successful scope start has exactly one stop. A sandboxed selection, or one requiring a security scope, cannot authorize sibling staging: atomic replacement reports unavailable before changing the target. Bookmarks and directories are outside this preview.
Clipboard reads distinguish no text (null) from empty text, enforce a UTF-16 character bound before copying to managed memory, and detect concurrent pasteboard replacement. The clipboard uses ApplicationServices C Pasteboard APIs and CoreFoundation to report OSStatus failures without Objective-C exception unwinding. Writes use the native API's actual outcome once native mutation begins. Presentation dispatch must stop accepting new work before scoped shutdown; existing panel cancellation and native resource release drain on AppKit's main queue even after the owner becomes unavailable.
The native clipboard executable in tests/dotnet/Runic.Platform.MacOS.Tests tests Unicode, embedded NUL, UTF-16 with both byte orders, later text items after non-text items, malformed data, bounds, cancellation/retry, and independent pbcopy/pbpaste observations. Run it on macOS both under JIT and after NativeAOT publication. It overwrites the clipboard. The host's real selected-file fixture must additionally be run interactively, including signed sandbox runs, shutdown with open sheets, and owner replacement. Linux guard checks do not count as macOS evidence.
Native clipboard ABI references: Apple Pasteboard functions and PasteboardCreate. No extra native shim is packaged.
Desktop services
Application-scoped appearance and notification providers, and owned file opening, application choice and reveal, are described in the desktop services guide. It includes composition, native API choices, installation/activation requirements, retained file access and the per-platform verification status.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Runic.Platform.Runtime (= 0.3.0-preview.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0-preview.1 | 41 | 9/11/2026 |
| 0.2.0-preview.1 | 49 | 9/9/2026 |