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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ViceSharp.Host.iOS" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ViceSharp.Host.iOS" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="ViceSharp.Host.iOS" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ViceSharp.Host.iOS --version 1.1.0
                    
#r "nuget: ViceSharp.Host.iOS, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ViceSharp.Host.iOS@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ViceSharp.Host.iOS&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=ViceSharp.Host.iOS&version=1.1.0
                    
Install as a Cake Tool

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:

  1. .NET SDK 10.0.201 or newer (global.json pins the rollForward channel).

  2. The ios workload:

    dotnet workload install ios
    
  3. Mac for actual device / simulator builds. The msbuild step succeeds on Windows (the workload provides the targets), but producing a runnable .app / .ipa requires a paired Mac running matching Xcode. Pair via Visual Studio: Tools > iOS > Pair to Mac.

  4. 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.ios bundle 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.app from the paired Mac.
  • Device: archive and ship through Xcode Organizer / TestFlight using the artifacts produced under the paired Mac's obj/ and bin/ directories.

Known gaps

  • The shared App from ViceSharp.Avalonia currently only wires the classic desktop lifetime. On iOS the lifetime is ISingleViewApplicationLifetime; the host shell launches an empty surface until the shared App learns the mobile lifetime branch. That work is out of scope for the Phase 1 closeout scaffold.
  • The repo enables IsAotCompatible and EnableTrimAnalyzer globally. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.1.0 83 7/11/2026
1.0.5 88 7/10/2026
1.0.4 90 7/10/2026
1.0.2 92 7/8/2026
1.0.1 108 7/8/2026
0.9.0 93 7/2/2026