Public OSS repository that packages a StoreKit 2 iOS interop wrapper into a consumable .NET NuGet.
- NuGet ID:
Kapusch.StoreKit2.iOS
A NuGet package that:
- provides a minimal managed API for StoreKit 2 purchase and restore flows;
- redistributes the native wrapper
xcframeworkinside the.nupkg; - injects the wrapper into consuming apps through
buildTransitiveNativeReference.
src/Kapusch.StoreKit2ApisForiOSComponents/- NuGet project (managed API + buildTransitive)src/Kapusch.StoreKit2ApisForiOSComponents/Native/iOS/- Swift interop source and build scriptssamples/Kapusch.StoreKit2.iOS.Sample/- source-mode iOS build sampleDocs/- integration and source-mode notes
master is the only long-lived branch. Make changes on short-lived feature branches and merge them
through pull requests after CI passes. Do not implement work directly on release/* branches.
vX.Y.Z-rc.NandvX.Y.Ztags publish immutable packages to NuGet.org. Both tag forms must point to commits reachable frommaster.- A manual publish with no version creates a unique preview on GitHub Packages.
- A manual version publish is allowed only when the workflow is dispatched from
masterand the version does not already exist on NuGet.org.
See Docs/Release.md for versioning, historical-source, validation, and package
provenance rules.
Prerequisites:
- macOS with Xcode 26.3 installed
- .NET SDK 10 (
global.jsonpins the10.0.202feature band)
Build native wrapper:
bash src/Kapusch.StoreKit2ApisForiOSComponents/Native/iOS/build.sh
Pack NuGet:
dotnet pack src/Kapusch.StoreKit2ApisForiOSComponents/Kapusch.StoreKit2ApisForiOSComponents.csproj -c Release -o artifacts/nuget
Validate the package and sample:
python3 scripts/validate-nupkg.py artifacts/nuget/Kapusch.StoreKit2.iOS.0.1.0.nupkgdotnet build samples/Kapusch.StoreKit2.iOS.Sample/Kapusch.StoreKit2.iOS.Sample.csproj -c Release
MIT