You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.3 KiB
85 lines
2.3 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.setProvisioningProfileForPbxproj = setProvisioningProfileForPbxproj;
|
|
|
|
function _fs() {
|
|
const data = _interopRequireDefault(require("fs"));
|
|
|
|
_fs = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _Target() {
|
|
const data = require("./Target");
|
|
|
|
_Target = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _Xcodeproj() {
|
|
const data = require("./utils/Xcodeproj");
|
|
|
|
_Xcodeproj = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _string() {
|
|
const data = require("./utils/string");
|
|
|
|
_string = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function setProvisioningProfileForPbxproj(projectRoot, {
|
|
targetName,
|
|
profileName,
|
|
appleTeamId,
|
|
buildConfiguration = 'Release'
|
|
}) {
|
|
const project = (0, _Xcodeproj().getPbxproj)(projectRoot);
|
|
const nativeTargetEntry = targetName ? (0, _Target().findNativeTargetByName)(project, targetName) : (0, _Target().findFirstNativeTarget)(project);
|
|
const [nativeTargetId, nativeTarget] = nativeTargetEntry;
|
|
const quotedAppleTeamId = ensureQuotes(appleTeamId);
|
|
(0, _Xcodeproj().getBuildConfigurationsForListId)(project, nativeTarget.buildConfigurationList).filter(([, item]) => (0, _string().trimQuotes)(item.name) === buildConfiguration).forEach(([, item]) => {
|
|
item.buildSettings.PROVISIONING_PROFILE_SPECIFIER = `"${profileName}"`;
|
|
item.buildSettings.DEVELOPMENT_TEAM = quotedAppleTeamId;
|
|
item.buildSettings.CODE_SIGN_IDENTITY = '"iPhone Distribution"';
|
|
item.buildSettings.CODE_SIGN_STYLE = 'Manual';
|
|
});
|
|
Object.entries((0, _Xcodeproj().getProjectSection)(project)).filter(_Xcodeproj().isNotComment).forEach(([, item]) => {
|
|
if (!item.attributes.TargetAttributes[nativeTargetId]) {
|
|
item.attributes.TargetAttributes[nativeTargetId] = {};
|
|
}
|
|
|
|
item.attributes.TargetAttributes[nativeTargetId].DevelopmentTeam = quotedAppleTeamId;
|
|
item.attributes.TargetAttributes[nativeTargetId].ProvisioningStyle = 'Manual';
|
|
});
|
|
|
|
_fs().default.writeFileSync(project.filepath, project.writeSync());
|
|
}
|
|
|
|
const ensureQuotes = value => {
|
|
if (!value.match(/^['"]/)) {
|
|
return `"${value}"`;
|
|
}
|
|
|
|
return value;
|
|
};
|
|
//# sourceMappingURL=ProvisioningProfile.js.map
|