diff options
Diffstat (limited to 'plugins/shareExtension/withExtensionEntitlements.js')
-rw-r--r-- | plugins/shareExtension/withExtensionEntitlements.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/plugins/shareExtension/withExtensionEntitlements.js b/plugins/shareExtension/withExtensionEntitlements.js new file mode 100644 index 000000000..e6bbf9d23 --- /dev/null +++ b/plugins/shareExtension/withExtensionEntitlements.js @@ -0,0 +1,33 @@ +const {withInfoPlist} = require('@expo/config-plugins') +const plist = require('@expo/plist') +const path = require('path') +const fs = require('fs') + +const withExtensionEntitlements = (config, {extensionName}) => { + // eslint-disable-next-line no-shadow + return withInfoPlist(config, config => { + const extensionEntitlementsPath = path.join( + config.modRequest.platformProjectRoot, + extensionName, + `${extensionName}.entitlements`, + ) + + const shareExtensionEntitlements = { + 'com.apple.security.application-groups': [ + `group.${config.ios?.bundleIdentifier}`, + ], + } + + fs.mkdirSync(path.dirname(extensionEntitlementsPath), { + recursive: true, + }) + fs.writeFileSync( + extensionEntitlementsPath, + plist.default.build(shareExtensionEntitlements), + ) + + return config + }) +} + +module.exports = {withExtensionEntitlements} |