import { ConfigPlugin, withInfoPlist } from '@expo/config-plugins'; const CS_URL_SCHEME = 'cs-$(PRODUCT_BUNDLE_IDENTIFIER)'; export const withCSCustomConfig: ConfigPlugin = config => { return withInfoPlist(config, config => { const hasURLSchemes = config.modResults.CFBundleURLTypes && config.modResults.CFBundleURLTypes.length > 0; if (hasURLSchemes) { if ( config.modResults.CFBundleURLTypes && config.modResults.CFBundleURLTypes.find(URLType => URLType.CFBundleURLSchemes.includes(CS_URL_SCHEME) ) === undefined ) { config.modResults.CFBundleURLTypes && config.modResults.CFBundleURLTypes[0].CFBundleURLSchemes.unshift( CS_URL_SCHEME ); } } else { config.modResults.CFBundleURLTypes = [ { CFBundleURLSchemes: [CS_URL_SCHEME] }, ]; } return config; }); };