Provides a Sharing Sheet on iOS & iPadOS and a Sharing Menu on macOS in a SwiftUI fashion that allows the user to share a piece of data using the Sharing Options available on the device the app is running on.
If you find SwiftUiSharing useful and would like to help support its continued development and maintenance, please consider making a small donation, especially if you are using it in a commercial product:
It's through the support of contributors like yourself, I can continue to build, release and maintain high-quality, well documented Swift Packages like SwiftUiSharing for free.
Swift Package Manager (Xcode 11 and above)
- In Xcode, select the File > Add Package Dependency… menu item.
- Paste
https://github.com/Appracatappra/SwiftUiSharing.gitin the dialog box. - Follow the Xcode's instruction to complete the installation.
Why not CocoaPods, or Carthage, or blank?
Supporting multiple dependency managers makes maintaining a library exponentially more complicated and time consuming.
Since, the Swift Package Manager is integrated with Xcode 11 (and greater), it's the easiest choice to support going further.
Here's an example of using SwiftUiSharing on iOS/iPadOS:
Button(action: {
SharingSheet.openMarkdownPrintSheet(markdown: dataStore.allShoppingLists(asMarkdown:true), simpleText: dataStore.allShoppingLists(), fromX: 245.0, fromY: 32.0)
}) {
Image(systemName: "square.and.arrow.up")
.resizable()
.foregroundColor(Color("AccentColor"))
}
.frame(width: 24.0, height: 24.0)
.help("Share your Shopping Lists")Which looks like this on iOS:
Which looks like this on iPadOS:
Here's an example of using SwiftUiSharing on macOS:
CommandGroup(replacing: .newItem){
NSSharingService.sharingMenu(title: "Share Shopping List") {
return MasterDataStore.SharedDataStore.allShoppingLists()
}
Divider()
...
}Which looks like this on macOS:
The Package includes full DocC Documentation for all features.



