1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4  value: true
5});
6exports.setProvisioningProfileForPbxproj = setProvisioningProfileForPbxproj;
7function _fs() {
8  const data = _interopRequireDefault(require("fs"));
9  _fs = function () {
10    return data;
11  };
12  return data;
13}
14function _Target() {
15  const data = require("./Target");
16  _Target = function () {
17    return data;
18  };
19  return data;
20}
21function _Xcodeproj() {
22  const data = require("./utils/Xcodeproj");
23  _Xcodeproj = function () {
24    return data;
25  };
26  return data;
27}
28function _string() {
29  const data = require("./utils/string");
30  _string = function () {
31    return data;
32  };
33  return data;
34}
35function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36function setProvisioningProfileForPbxproj(projectRoot, {
37  targetName,
38  profileName,
39  appleTeamId,
40  buildConfiguration = 'Release'
41}) {
42  const project = (0, _Xcodeproj().getPbxproj)(projectRoot);
43  const nativeTargetEntry = targetName ? (0, _Target().findNativeTargetByName)(project, targetName) : (0, _Target().findFirstNativeTarget)(project);
44  const [nativeTargetId, nativeTarget] = nativeTargetEntry;
45  const quotedAppleTeamId = ensureQuotes(appleTeamId);
46  (0, _Xcodeproj().getBuildConfigurationsForListId)(project, nativeTarget.buildConfigurationList).filter(([, item]) => (0, _string().trimQuotes)(item.name) === buildConfiguration).forEach(([, item]) => {
47    item.buildSettings.PROVISIONING_PROFILE_SPECIFIER = `"${profileName}"`;
48    item.buildSettings.DEVELOPMENT_TEAM = quotedAppleTeamId;
49    item.buildSettings.CODE_SIGN_IDENTITY = '"iPhone Distribution"';
50    item.buildSettings.CODE_SIGN_STYLE = 'Manual';
51  });
52  Object.entries((0, _Xcodeproj().getProjectSection)(project)).filter(_Xcodeproj().isNotComment).forEach(([, item]) => {
53    if (!item.attributes.TargetAttributes[nativeTargetId]) {
54      item.attributes.TargetAttributes[nativeTargetId] = {};
55    }
56    item.attributes.TargetAttributes[nativeTargetId].DevelopmentTeam = quotedAppleTeamId;
57    item.attributes.TargetAttributes[nativeTargetId].ProvisioningStyle = 'Manual';
58  });
59  _fs().default.writeFileSync(project.filepath, project.writeSync());
60}
61const ensureQuotes = value => {
62  if (!value.match(/^['"]/)) {
63    return `"${value}"`;
64  }
65  return value;
66};
67//# sourceMappingURL=ProvisioningProfile.js.map