Public OSS repository that packages Facebook Login for iOS into a consumable .NET NuGet.
- NuGet ID:
Kapusch.Facebook.iOS
A NuGet package that:
- provides a small managed API for Facebook Login (iOS), and
- redistributes the required Facebook iOS SDK xcframeworks inside the
.nupkg(classic/native binding packaging), - injects the xcframeworks into consuming apps via
buildTransitiveNativeReferenceitems.
See THIRD_PARTY_NOTICES.md.
- Formatting:
Docs/Formatting.md - Source mode:
Docs/SourceMode.md - Samples:
samples/README.md
Prereqs:
- Xcode installed (for
xcrun, iOS SDKs) - .NET SDK 10 (
global.jsonpins 10.0.100)
Build the native wrapper:
bash src/Kapusch.FacebookApisForiOSComponents/Native/iOS/build.sh
Collect Facebook xcframeworks for packing:
bash src/Kapusch.FacebookApisForiOSComponents/Native/iOS/collect-facebook-xcframeworks.sh
Pack the NuGet:
dotnet pack src/Kapusch.FacebookApisForiOSComponents/Kapusch.FacebookApisForiOSComponents.csproj -c Release -o artifacts/nuget
- Install the package from NuGet.org for public release tags.
- Install the package from GitHub Packages for internal preview builds.
- Follow
Docs/Integration.mdfor Info.plist keys and AppDelegate hooks.
- PR CI is build-only.
- Publishing is handled by
.github/workflows/publish.ymlwith channel routing:- tag
vX.Y.Zonmaster-> NuGet.org (stable) - tag
vX.Y.Z-rc.Nonrelease/*-> NuGet.org (pre-release) - non-tag runs (
workflow_dispatch) -> GitHub Packages (X.Y.Z-preview.<run>.<sha>) workflow_dispatchwithmanual_version-> NuGet.org (forced version)
- tag
- NuGet.org publishing uses NuGet Trusted Publishing (OIDC via
NuGet/login@v1), no long-lived NuGet API key.
NUGET_USER: your nuget.org profile username (not email), used byNuGet/login@v1.
- Pre-release candidate from a release branch:
git checkout release/1.0.0git tag v1.0.0-rc.1git push origin v1.0.0-rc.1
- Stable release from master:
git checkout mastergit tag v1.0.0git push origin v1.0.0