1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.setICloudEntitlements = exports.withDocumentPickerIOS = void 0;
4const config_plugins_1 = require("@expo/config-plugins");
5const withDocumentPickerIOS = (config, { appleTeamId, iCloudContainerEnvironment }) => {
6    return (0, config_plugins_1.withEntitlementsPlist)(config, (config) => {
7        if (appleTeamId) {
8            config.modResults = setICloudEntitlements(config, { appleTeamId, iCloudContainerEnvironment }, config.modResults);
9        }
10        else {
11            config_plugins_1.WarningAggregator.addWarningIOS('expo-document-picker', 'Cannot configure iOS entitlements because neither the appleTeamId property, nor the environment variable EXPO_APPLE_TEAM_ID were defined.');
12        }
13        return config;
14    });
15};
16exports.withDocumentPickerIOS = withDocumentPickerIOS;
17function setICloudEntitlements(config, { appleTeamId, iCloudContainerEnvironment }, { 'com.apple.developer.icloud-container-environment': _env, ...entitlements }) {
18    var _a;
19    if ((_a = config.ios) === null || _a === void 0 ? void 0 : _a.usesIcloudStorage) {
20        // Used for AdHoc iOS builds: https://github.com/expo/eas-cli/issues/693
21        // https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_icloud-container-environment
22        entitlements['com.apple.developer.icloud-container-environment'] = iCloudContainerEnvironment;
23        entitlements['com.apple.developer.icloud-container-identifiers'] = [
24            'iCloud.' + config.ios.bundleIdentifier,
25        ];
26        entitlements['com.apple.developer.ubiquity-container-identifiers'] = [
27            'iCloud.' + config.ios.bundleIdentifier,
28        ];
29        entitlements['com.apple.developer.ubiquity-kvstore-identifier'] =
30            appleTeamId + '.' + config.ios.bundleIdentifier;
31        entitlements['com.apple.developer.icloud-services'] = ['CloudDocuments'];
32    }
33    return entitlements;
34}
35exports.setICloudEntitlements = setICloudEntitlements;
36