https://github.com/jo-tools/nssharingservice
Xojo example project: NSSharingService
https://github.com/jo-tools/nssharingservice
apple declares framework macos xojo
Last synced: about 2 months ago
JSON representation
Xojo example project: NSSharingService
- Host: GitHub
- URL: https://github.com/jo-tools/nssharingservice
- Owner: jo-tools
- License: mit
- Created: 2022-01-19T19:53:51.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-15T15:21:29.000Z (about 1 year ago)
- Last Synced: 2025-04-06T06:51:15.051Z (12 months ago)
- Topics: apple, declares, framework, macos, xojo
- Language: Xojo
- Homepage: https://www.jo-tools.ch
- Size: 4.34 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# NSSharingService
Xojo example project
[](LICENSE)
## Description
An example Xojo project to show how to use [NSSharingService](https://developer.apple.com/documentation/appkit/nssharingservice?language=objc) in Xojo-built Applications *(macOS, 64Bit only)*.
The following services are implemented in the example project:
- Compose Email *(Subject, Content, Attachments)*
- Compose Message *(Content/Text, File/Attachments)*
- Send via AirDrop *(Files/Attachments)*
### ScreenShots
Example application - SharingService: **AirDrop**

Example application - SharingService: **Messages**

Example application - SharingService: **E-Mail**

## Xojo
### Requirements
[Xojo](https://www.xojo.com/) is a rapid application development for Desktop, Web, Mobile & Raspberry Pi.
The Desktop application Xojo example project ```NSSharingService.xojo_project``` is using:
- Xojo 2024r4.2
- API 2
### How to use in your own Xojo project?
1. copy the Module ```modNSSharingService``` to your project.
2. you can then use the provided convenience methods:
1. ```modNSSharingService.SendViaAirDrop()```
2. ```modNSSharingService.ComposeMessage()```
3. ```modNSSharingService.ComposeEmail()```
Note:
- These methods return ```true``` if the sharing service can be invoked, ```false``` if the service is not available.
- The Sharing Service will run asynchrously *(e.g. when not called to show modally within a window)*. That's why you can pass a ```ResultCallbackDelegate```, which will be invoked and reported back with the result later (e.g.: successfully shared, cancelled by user, ...).
## About
Juerg Otter is a long term user of Xojo and working for [CM Informatik AG](https://cmiag.ch/). Their Application [CMI LehrerOffice](https://cmi-bildung.ch/) is a Xojo Design Award Winner 2018. In his leisure time Juerg provides some [bits and pieces for Xojo Developers](https://www.jo-tools.ch/).
### Contact
[](mailto:xojo@jo-tools.ch)
[](https://www.facebook.com/juerg.otter)
[](https://twitter.com/juergotter)
### Donation
Do you like this project? Does it help you? Has it saved you time and money?
You're welcome - it's free... If you want to say thanks I'd appreciate a [message](mailto:xojo@jo-tools.ch) or a small [donation via PayPal](https://paypal.me/jotools).
[](https://paypal.me/jotools)