cpp-xcframework-sdk
Cross-platform C++ SDK with a C-ABI boundary and XCFramework pipeline
Why this shape
A native SDK meant to outlive one client app has one real design constraint:
the public surface must be pure C. C++ has no stable ABI across
compilers/versions, so any header that leaks std::string, templates,
exceptions, or virtual dispatch across the library boundary locks every
consumer to the exact toolchain that built the library. A pure C header
(extern "C", POD structs, opaque handles, function-pointer callbacks) is
readable from Swift, Kotlin/JNI, C#, or plain C — so the same compiled core
serves an iOS/macOS app today and an Android .aar or Windows .dll later
without a rewrite. Everything in this skill exists in service of that one
constraint; the patterns below (Pimpl, interfaces, factory, callbacks) are
how you get to write normal, comfortable C++ underneath that boundary
without it leaking through.