-
Notifications
You must be signed in to change notification settings - Fork 2
share SETUP
github-actions[bot] edited this page Jun 2, 2026
·
1 revision
io.github.mobilebytelabs:cmp-share:3.2.11
cmp-share is zero-configuration — no init call, no DI module, no nav destinations.
3 steps: add dependency, opt in, use.
[versions]
cmp-share = "3.2.11"
[libraries]
cmp-share = { module = "io.github.mobilebytelabs:cmp-share", version.ref = "cmp-share" }commonMain.dependencies {
implementation(libs.cmp.share)
}@OptIn(ExperimentalShareApi::class)
suspend fun onShare() {
Share.text("Hello from KMP!")
}// shared/build.gradle.kts
kotlin {
compilerOptions {
freeCompilerArgs.addAll("-opt-in=com.mobilebytelabs.kmptoolkit.share.ExperimentalShareApi")
}
}@OptIn(ExperimentalShareApi::class)
suspend fun shareText() {
val result = Share.text("Check out KMP Toolkit!")
if (result is ShareResult.Failed) logError(result.cause)
}val result = Share.url("https://github.com/mobilebytelabs/kmp-toolkit")val result = Share.image(
bytes = pngBytes,
mimeType = "image/png",
filename = "screenshot.png"
)val result = Share.file(
bytes = pdfBytes,
mimeType = "application/pdf",
filename = "report.pdf"
)val result = Share.multi(
listOf(
SharePayload.Text("Here's the file:"),
SharePayload.File(pdfBytes, "application/pdf", "invoice.pdf")
)
)val result = Share.share(
payload = SharePayload.Text("Hello!"),
options = ShareOptions(
chooserTitle = "Share via", // Android Chooser title
excludedActivities = listOf("com.instagram.android")
)
)| Platform | Behaviour |
|---|---|
| Android | Native ACTION_SEND Chooser — chooserTitle and excludedActivities apply |
| iOS | UIActivityViewController — pass presentingController if not in a window |
| macOS | NSSharingServicePicker — pass presentingController (NSView anchor) |
| JVM |
Desktop.open() / mailto: — best-effort, no result confirmation |
| JS / wasmJs |
navigator.share() — must be called from a user gesture (e.g., click handler) |
/sync-share # Verify Gradle dependency (only gate needed)
/sync-share --check # Dry run — show status, no writes
See CLAUDE_AI_SETUP.md for full docs.
** Partials**
App Intents
Bubble
Clipboard
Cookbook
- Clipboard Copy Text
- Clipboard Read Text
- Consumer Anon Key Setup
- Crashlytics Attribution Per Library
- Ifonline Block
- Index
- Index
- Index
- Index
- Open Url Compose
- Pick And Share Image
- React To Offline
- Register Firebase Hooks
- Share Pdf Android
- Share Text
- Wifi Vs Cellular
Firebase Analytics
In App Update
Intent Launcher
Inter App Comms
Modules
- Cmp App Intents
- Cmp App Intents Compose
- Cmp Bubble
- Cmp Clipboard
- Cmp Deep Link
- Cmp Firebase Analytics
- Cmp In App Update
- Cmp Intent Launcher
- Cmp Intent Launcher Compose
- Cmp Library
- Cmp Network Monitor
- Cmp Network Monitor Compose
- Cmp Observe
- Cmp Observe Koin
- Cmp Open Url
- Cmp Pdf Generator
- Cmp Product Tickets
- Cmp Remote Config
- Cmp Share
- Cmp Share Compose
- Cmp Toast
Network Monitor
Open Url
Pdf Generator
Remote Config
Share
Toast
User Tickets
General