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 an SDK provided by Evernote to integrate. No such SDK is available on Mac at this time.
- 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.
- Run Shortcut: This step integrates with Apple’s Shortcuts app. It does not exist on Mac, so naturally it is not possible to run shortcuts.
- Open in…: The Open in step provides legacy support for older iOS-style export options. The Export step can be used instead 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 of
mailto:URLs, there is no support for sending HTML mail on Mac. We are working on supporting HTML mail through a helper app and should have something to announce on that very soon.
About URLs and Callbacks
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.
We are still collecting information which cross-platform apps have compatibility. 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.
New settings in 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.
In cases where it makes sense for 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
deviceto determine what platform the script is executing on and branch logic appropriately.
On Mac, Smile Software’s TextExpander works in Drafts without any special integration. On iOS, integration with Smile Software’s TextExpander is done through an integrated SDK provided by Smile. That SDK enabled a feature to expand snippets programmatically which enabled the expansion of TextExpander snippets in action templates (see template docs for details). This feature is not available on Mac.