Cross-Platform Compatibility Notes
Table of Contents
- What Works on both iOS and the Mac
- Action Step Compatibility
- About URLs and Callbacks
- Platform Visibility
- Platform Behavior
While the majority of Drafts actions are compatible with both the iOS and macOS versions of Drafts, there are some cases where the differences between the platforms and available services create some cross-platform issues which should be noted. This article covers those issues.
We are always working on smoothing out differences, and this document will be updated as new versions of Drafts become available.
What Works on both iOS and the Mac
First off, most actions are compatible across iOS and Mac. There are a few that are not supported, and a few that will function slightly differently due to differences between the platforms, but if you find an action not performing properly, and it is not covered by the compatibility notes below, it may well be a bug and should be reported.
Action Step Compatibility
The following specific action step types are not supported on Mac:
- Evernote: Evernote does not offer a REST API for direct integration like most other services Drafts integrates with. As a result, Drafts on iOS uses the SDK provided by Evernote to integrate. No such SDK is available on Mac at this time. Evernote step support is also not well supported by Evernote. If you wish to use Drafts with Evernote, we recommend you use email-based actions which will work across platforms. For details, see our integration guide
- Event: The event action step allows calendar event creation using a form provided by iOS which has no equivalent on the Mac so is not supported.
- Open in…: The Open in step provides legacy support for older iOS-style export options. The Export step can be used instead on Mac.
- Run AppleScript/Shell Script: Only supported on Mac.
The following action steps work, but have some behavior differences:
- Mail: When configured to send mail in the background, this step functions the same on both platforms. When configured to run in the foreground, the step uses APIs on iOS to access the Mail app directly that have no equivalent on Mac. As a result, on Mac, the mail step uses
mailto:
style URLs to open mail messages to send. Due to the limitations ofmailto:
URLs, there is no support for sending HTML mail on Mac. If you want to send HTML-based mail on Mac, see our Mail Assistant helper app for setup.
About URLs and Callbacks
Many Drafts actions that integrate with other apps rely on URL schemes, using either the Open URL or Callback URL action steps.
Both these action steps work on Mac…but whether the actions themselves work depends on the related app being available and supporting the same URL schemes in their Mac version as are available in their iOS version.
Many popular app integration actions will work as-is in the Mac version. We have tested with apps, like Things, Day One, Todoist, OmniFocus, which work great. Others, like Fantastical and Evernote, do not currently have support for the same URLs in the Mac version and those actions will not work.
Platform Visibility
New settings are available to customize your actions and action lists for cross-platform considerations. Take note of the following options:
- Action groups have visibility settings to choose whether they are available to select in the action list and action bar on iOS and/or Mac. Using these settings you can make entire action groups invisible on Mac or iOS if desired.
- Individual actions have similar visibility settings to allow them to be hidden when the action group is presented in different contexts. Using these settings you can make specific actions invisible on Mac or iOS if desired.
- The action list can filter automatically based on supported actions. These options are available in the “…” list options menu.
Platform Behavior
In cases where it makes sense for the behavior of an action to be different on iOS or Mac, actions can be made to run differently on iOS or Mac using one of two options:
- Action steps in an action can be enabled or disabled by platform, allowing a single action to execute different steps when running on iOS or Mac if desired.
- Scripted steps can use the properties on the
device
to determine what platform the script is executing on and branch logic appropriately.