Swift Markdown Kit · DOCS
Installation
Installation
1. Get the files
After purchase, your account has the SDK archive ready to download. The license is one step further: it does not exist until you bind it.
- Open the Team ID licenses panel.
- Enter your Apple Team ID — the ten-character identifier from your Apple
Developer account, e.g.
ABCDE12345. - Confirm. The signed
.smklicenseis generated and downloadable immediately.
Check the Team ID before confirming. A license is a signed, offline- validated file, so it cannot be recalled once issued — which means the binding cannot be changed by yourself afterwards. If you bind the wrong one, contact support.
Both files stay re-downloadable, and the license does not need re-issuing when you upgrade within your update window.
2. Add the framework
- Unzip the archive and drag
SwiftMarkdownKit.xcframeworkinto your Xcode project. - Select your app target.
- Under General › Frameworks, Libraries, and Embedded Content, set the framework to Embed & Sign.
The framework is built with library evolution enabled, so it links against any Swift compiler version from Xcode 16 onwards without being rebuilt.
3. Add the license
Drag the .smklicense file into the project and confirm it appears under
Build Phases › Copy Bundle Resources for the app target.
There is no activation code and no SDK key to paste into your source. The license is a signed file the SDK reads from your bundle, validated entirely on-device — it never contacts a server, so your app is unaffected by our infrastructure.
4. Import and render
import SwiftUI
import SwiftMarkdownKit
struct ReadmeView: View {
var body: some View {
MarkdownRenderView(markdown: "# Hello\n\nIt **works**.")
}
}
The module is SwiftMarkdownKit regardless of how you added it.
Consuming it through Swift Package Manager
If your project prefers packages over embedded frameworks, wrap the downloaded xcframework in a local package:
// swift-tools-version: 5.9
import PackageDescription
let package = Package(
name: "SwiftMarkdownKitBinary",
platforms: [.iOS(.v17)],
products: [
.library(name: "SwiftMarkdownKit", targets: ["SwiftMarkdownKit"])
],
targets: [
.binaryTarget(
name: "SwiftMarkdownKit",
path: "SwiftMarkdownKit.xcframework"
)
]
)
Add that folder to your workspace as a local package and depend on the
SwiftMarkdownKit product. A local binary target needs no checksum, and pins
the exact binary sitting in your repository.
Verifying the install
Print the diagnostics once during development:
print(MarkdownRenderKit.version)
print(MarkdownRenderKit.licenseDiagnostics())
If the license was picked up, licensed …… true appears on the first line. If
not, the same output says exactly why — see
Licensing.
Rendering works either way. An unlicensed build is badged, never broken.