react-native-nitro-screen-recorder
Version:
A library to capture screen recordings with react-native powered by NitroModules.
28 lines (26 loc) • 1.06 kB
JavaScript
;
import { withEntitlementsPlist } from '@expo/config-plugins';
import { getAppGroup } from '../support/iosConstants';
import assert from 'assert';
/**
* Add "App Group" permission
*/
export const withMainAppAppGroupEntitlement = (config, props) => {
const APP_GROUP_KEY = 'com.apple.security.application-groups';
return withEntitlementsPlist(config, newConfig => {
// Ensure we have an array, preserving any existing entries
if (!Array.isArray(newConfig.modResults[APP_GROUP_KEY])) {
newConfig.modResults[APP_GROUP_KEY] = [];
}
const modResultsArray = newConfig.modResults[APP_GROUP_KEY];
assert(newConfig.ios?.bundleIdentifier, "Missing 'ios.bundleIdentifier' in app config");
const entitlement = getAppGroup(newConfig?.ios?.bundleIdentifier, props);
// Check if our entitlement already exists
if (modResultsArray.includes(entitlement)) {
return newConfig;
}
modResultsArray.push(entitlement);
return newConfig;
});
};
//# sourceMappingURL=withMainAppAppGroupEntitlement.js.map