Skip to content
Merged
17 changes: 9 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
build:
name: Build and Test
runs-on: macos-15
runs-on: macos-26
outputs:
version: ${{ steps.gitversion.outputs.semVer }}
defaults:
Expand All @@ -23,10 +23,11 @@ jobs:
with:
fetch-depth: 0 # Required for Calculate Version step (e.g. GitVersion)

- name: Install .NET 9.0
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0
# Select Xcode 26.1 before workload restore, as the iOS SDK workload requires it
# Also use the full path instead of the symlink as using the causes the error:
# xcrun: error: unable to find utility "actool", not a developer tool or in PATH
- name: Select Xcode 26.1
run: sudo xcode-select -s /Applications/Xcode_26.1.1.app

- name: Install Workloads
run: dotnet workload restore
Expand All @@ -50,7 +51,7 @@ jobs:
# of the Example Client because it takes a long time and we don't publish it.
- name: Debug Build of Solution to Smoke Test Example Client
run: dotnet build -c Debug

- name: Create NuGet Package
run: dotnet pack SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.BEMCheckBox.csproj -c Release

Expand All @@ -73,10 +74,10 @@ jobs:
id-token: write # Required for Trusted Publishing (OIDC token generation)

steps:
- name: Install .NET 9.0
- name: Install .NET 10.0
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0
dotnet-version: 10.0

- name: Download NuGet Package Artifact
uses: actions/download-artifact@v4
Expand Down
14 changes: 7 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This document provides guidance for AI agents (like Claude Code, GitHub Copilot,
**XPlugins.iOS.BEMCheckBox** is a .NET iOS binding library that wraps the native Swift BEMCheckBox framework for use in .NET iOS applications. It enables .NET developers to use highly customizable, animated checkbox controls in their iOS applications.

**Current Version:** 9.0.0
**Target Framework:** net9.0-ios18.0
**Target Framework:** net10.0-ios (minimum iOS 18.0)
**Language:** C# 12
**Package:** SaturdayMP.XPlugins.iOS.BEMCheckBox (NuGet)

Expand All @@ -23,7 +23,7 @@ This document provides guidance for AI agents (like Claude Code, GitHub Copilot,
├── ExampleClient/ # Demo iOS application
│ ├── MainViewController.cs # Usage examples
│ └── *.csproj # Example app project
└── global.json # .NET SDK version (9.0.0)
└── global.json # .NET SDK version (10.0.0)
```

## Key Components
Expand Down Expand Up @@ -149,7 +149,7 @@ dotnet pack Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.B

**Build steps:**
1. Checkout with full Git history (required for GitVersion)
2. Install .NET 9.0
2. Install .NET 10.0
3. Restore workloads
4. Install GitVersion (6.3.0)
5. Determine version
Expand Down Expand Up @@ -280,7 +280,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud

**Requirements:**
- macOS with Xcode installed
- .NET 9.0 SDK
- .NET 10.0 SDK
- iOS Simulator available (for running)
- IDE required for running (command-line build only)

Expand All @@ -290,7 +290,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud

- **macOS required** for building (iOS SDK dependency)
- **Xcode** must be installed (iOS development tools)
- **.NET 9.0 SDK** required (pinned in global.json:1)
- **.NET 10.0 SDK** required (pinned in global.json:1)
- **iOS 18.0+** minimum target

### Binding Limitations
Expand All @@ -306,7 +306,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud
- Main DLL only (not ExampleClient)
- LICENSE.txt
- README.md (referenced, not embedded)
- Target framework: net9.0-ios18.0
- Target framework: net10.0-ios (minimum iOS 18.0)

## Testing Strategy

Expand Down Expand Up @@ -432,7 +432,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud

- **Debug**: Includes ExampleClient, used for testing
- **Release**: Library only, creates NuGet package
- **Target Framework**: net9.0-ios18.0
- **Target Framework**: net10.0-ios (minimum iOS 18.0)
- **Package ID**: SaturdayMP.XPlugins.iOS.BEMCheckBox
- **License**: MIT

Expand Down
2 changes: 1 addition & 1 deletion GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
next-version: 9.0.0
next-version: 10.0.0
workflow: GitHubFlow/v1
branches:
main:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Building and running iOS applications from the command line requires an IDE. The
# Version Mapping
Below is the mapping of the BEMCheckBox version used in the XPlugin wrapper version along with the Xamarin/.NET version.

The .NET version lists the minimum .NET and iOS versions required. For example, `net9.0-ios18.0` means the XPlugin will work with .NET 9.0 and iOS 18.0 or higher (e.g. it will work with .NET 9, .NET 10, .NET 11, and iOS 18, iOS 19, iOS 20).
The .NET version lists the minimum .NET and iOS versions required. For example, `net10.0-ios` with minimum iOS 18.0 means the XPlugin will work with .NET 10.0 and iOS 18.0 or higher (e.g. it will work with .NET 10, .NET 11, .NET 12, and iOS 18, iOS 19, iOS 20).

Starting with version 8, the XPlugin version will match the .NET release it is targeting.

Expand Down
2 changes: 1 addition & 1 deletion Source/ExampleClient/ExampleClient.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0-ios18.0</TargetFramework>
<TargetFramework>net10.0-ios</TargetFramework>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0-ios18.0</TargetFramework>
<TargetFramework>net10.0-ios</TargetFramework>
<SupportedOSPlatformVersion>18.0</SupportedOSPlatformVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
Expand All @@ -13,7 +14,7 @@
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox</RepositoryUrl>
<PackageTags>net9.0 net9.0-ios ios ios-binding bemcheckbox checkbox saturdaymp</PackageTags>
<PackageTags>net10.0 net10.0-ios ios ios-binding bemcheckbox checkbox saturdaymp</PackageTags>
<Company>Saturday Morning Productions Inc.</Company>
<Product>XPlugins.iOS.BEMCheckBox</Product>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion Source/global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.0",
"version": "10.0.0",
"rollForward": "latestFeature"
}
}
Loading