Skip to main content

Develop for mobile devices

Learn how you can develop your plugin for mobile devices.

Emulate mobile device on desktop​

You can emulate Obsidian running a mobile device directly from the Developer Tools.

  1. Open the Developer Tools.

  2. Select the Console tab.

  3. Enter the following and then press Enter.

    this.app.emulateMobile(true);

To disable mobile emulation, enter the following and press Enter:

this.app.emulateMobile(false);
tip

To instead toggle mobile emulation back and forth, you can use the this.app.isMobile flag:

this.app.emulateMobile(!this.app.isMobile);

Platform-specific features​

To detect the platform your plugin is running on, you can use Platform:

import { Platform } from "obsidian";

if (Platform.isIosApp) {
// ...
}

if (Platform.isAndroidApp) {
// ...
}

Disable your plugin on mobile devices​

If your plugin requires the Node.js or Electron API, you can prevent users from installing the plugin on mobile devices.

To only support the desktop app, set isDesktopOnly to true in the manifest.json.

Troubleshooting​

This section lists common issues when developing for mobile devices.

Node and Electron APIs​

The Node.js API and the Electron API aren't available on mobile devices. Any calls to these libraries result cause your plugin to crash.

Lookbehind in regular expressions​

Lookbehind in regular expressions is currently not supported on iOS. To implement a fallback for iOS users, refer to Platform-specific features.

Refer to Can I Use for an up-to-date status. Look for "Safari on iOS".