我继承了一个我首先从命令行构建的应用程序=> npm run build。作为结果运行的部分过程是以下功能。
function archive(options) {
const proc = spawn('xcrun', [
'xcodebuild',
'archive',
'-project',
options.projectPath,
'-scheme',
options.scheme,
'-archivePath',
options.archivePath
], {
stdio: 'inherit'
});
proc.on('close', (code) => {
if (code !== 0) exit(code, 'Archive failed.');
exportArchive(options);
});
}
function exportArchive(options) {
const proc = spawn('xcrun', [
'xcodebuild',
'-exportArchive',
'-archivePath',
options.archivePath,
'-exportPath',
options.exportPath,
'-exportOptionsPlist',
options.plistPath
], {
stdio: 'inherit'
});
proc.on('close', (code) => {
if (code !== 0) exit(code, 'Export archive failed.');
rename(options);
});
}
完成此操作后,我打开Xcode项目,选择适当的Team,然后执行Product \ Archive。然后生成我的.ipa。
今天早上从命令行执行第一步(npm run build)时出现以下错误: **存档成功** 2016-10-28 10:13:53.144 xcodebuild [4199:50183] [MT] IDEDistribution: - [IDEDistributionLogging _createLoggingBundleAtPath:]:在路径'/ var / folders / 1k / dwr2csfs5lnfrs7xq7520v_w0000gq / T / xxxxx xxxxx_2016-10-28_10创建的包-13-53.144.xcdistributionlogs'。 2016-10-28 10:13:53.590 xcodebuild [4199:50183] [MT]我 DEDistribution:步骤失败::错误域= IDEDistributionErrorDomain Code = 1“(null)” 错误:exportArchive:无法完成操作。 (IDEDistributionErrorDomain错误1.) 错误域= IDEDistributionErrorDomain代码= 1“(null)” **出口失败** 导出存档失败。
查看Keychain Access我看到我的“Apple全球开发者关系认证机构”证书直到2023年才到期。 我确实看到昨天过期的本地分发证书。 我是否收到此错误,因为此过期的分发证书指向每个此主题的“Apple全球开发者关系证书颁发机构”证书? https://forums.developer.apple.com/thread/38472
我在Keychain Access中删除了过期的分发证书(我有另一个有效的分发证书)。然后我尝试从命令行再次构建并仍然得到相同的错误。
**存档成功** 2016-10-28 11:31:14.735 xcodebuild [5202:74254] [MT] IDEDistribution: - [IDEDistributionLogging _createLoggingBundleAtPath:]:在路径创建的包'/ var / folders / 1k / dwr2csfs5lnfrs7xq7520v_w0000gq / T / xxxxx xxxxx_2016-10-28_11 -31-14.734.xcdistributionlogs'。 2016-10-28 11:31:15.087 xcodebuild [5202:74254] [MT] **** IDEDistribution:步失败::错误域= IDEDistributionErrorDomain Code = 1“(null)” 错误:exportArchive:无法完成操作。 (IDEDistributionErrorDomain错误1.) 错误域= IDEDistributionErrorDomain代码= 1“(null)” **出口失败******
即使出现此错误,我仍然可以进入Xcode,选择合适的团队,然后继续使用Product \ Archive来完成应用程序的构建。