ViceSharp.Host.iOS
1.1.0
dotnet add package ViceSharp.Host.iOS --version 1.1.0
NuGet\Install-Package ViceSharp.Host.iOS -Version 1.1.0
<PackageReference Include="ViceSharp.Host.iOS" Version="1.1.0" />
<PackageVersion Include="ViceSharp.Host.iOS" Version="1.1.0" />
<PackageReference Include="ViceSharp.Host.iOS" />
paket add ViceSharp.Host.iOS --version 1.1.0
#r "nuget: ViceSharp.Host.iOS, 1.1.0"
#:package ViceSharp.Host.iOS@1.1.0
#addin nuget:?package=ViceSharp.Host.iOS&version=1.1.0
#tool nuget:?package=ViceSharp.Host.iOS&version=1.1.0
ViceSharp.Host.iOS
PLATFORM-CROSS-001 iOS host shell for ViceSharp. This is a thin Avalonia
mobile head that reuses the shared App from ViceSharp.Avalonia; the
emulator core and UI live in the existing projects, not here.
Build prerequisites
By default this project targets net10.0-ios. That requires:
.NET SDK 10.0.201 or newer (
global.jsonpins the rollForward channel).The
iosworkload:dotnet workload install iosMac for actual device / simulator builds. The msbuild step succeeds on Windows (the workload provides the targets), but producing a runnable
.app/.iparequires a paired Mac running matching Xcode. Pair via Visual Studio:Tools > iOS > Pair to Mac.On the Mac side: Xcode 16 or newer with the iOS 18 SDK, Apple developer signing certificate, and a provisioning profile for the
org.vicesharp.host.iosbundle id (or change the id under your own organisation).
If the workload is missing the project falls back to plain net10.0 so the
solution stays buildable on any host:
dotnet build src/ViceSharp.Host.iOS/ViceSharp.Host.iOS.csproj `
/p:ViceSharpHostIosFallback=true
In fallback mode the project compiles a desktop Avalonia exe instead of an iOS bundle. The fallback is solely for solution buildability; it is not a shipping target.
Build
Library compile (works on Windows with the workload installed):
dotnet build src/ViceSharp.Host.iOS/ViceSharp.Host.iOS.csproj -c Release
Device / simulator app (requires paired Mac):
dotnet build src/ViceSharp.Host.iOS/ViceSharp.Host.iOS.csproj `
-c Release `
/p:RuntimeIdentifier=iossimulator-arm64
Deploy
- Simulator: launch from Visual Studio with the host shell selected,
or
xcrun simctl install booted bin/Release/.../ViceSharp.Host.iOS.appfrom the paired Mac. - Device: archive and ship through Xcode Organizer / TestFlight using
the artifacts produced under the paired Mac's
obj/andbin/directories.
Known gaps
- The shared
AppfromViceSharp.Avaloniacurrently only wires the classic desktop lifetime. On iOS the lifetime isISingleViewApplicationLifetime; the host shell launches an empty surface until the sharedApplearns the mobile lifetime branch. That work is out of scope for the Phase 1 closeout scaffold. - The repo enables
IsAotCompatibleandEnableTrimAnalyzerglobally. Avalonia.iOS is not AOT/trim clean today, so this project opts out of those analyzers. Re-enable once Avalonia ships a clean profile.
| 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
- Avalonia (>= 12.0.5)
- Avalonia.Desktop (>= 12.0.5)
- Avalonia.Fonts.Inter (>= 12.0.5)
- Avalonia.Themes.Fluent (>= 12.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.