expo-mail-composer
Version:
Provides an API to compose mails using OS specific UI
43 lines (38 loc) • 1.09 kB
text/typescript
import { ConfigPlugin, createRunOncePlugin, withInfoPlist } from 'expo/config-plugins';
const pkg = require('expo-mail-composer/package.json');
/**
* Keep the mail client URLs in sync with those in the file `ios/MailClients.swift`.
*/
const mailClientURLs: string[] = [
'airmail',
'message',
'bluemail',
'canary',
'edisonmail',
'szn-email',
'fastmail',
'x-gmxmail-netid-v1',
'googlegmail',
'mailrumail',
'ms-outlook',
'protonmail',
'ctxmail',
'readdle-spark',
'superhuman',
'telekommail',
'tutanota',
'x-webdemail-netid-v1',
'ymail',
'yandexmail',
'appcenter-f45b4c0b-75c9-2d01-7ab6-41f6a6015be2',
'mymail-mailto',
];
const withMailComposer: ConfigPlugin = (config) => {
return withInfoPlist(config, (config) => {
const existingSchemes = config.modResults.LSApplicationQueriesSchemes ?? [];
const newSchemes = [...new Set([...existingSchemes, ...mailClientURLs])];
config.modResults.LSApplicationQueriesSchemes = newSchemes;
return config;
});
};
export default createRunOncePlugin(withMailComposer, pkg.name, pkg.version);