如何解决Electron.js 应用公证失败,您的 Apple ID 帐户已附加到其他提供商
我正在尝试在 Mac 上公证我的 electron.js 应用程序。
代码签名成功,然后将.app
文件发送到服务器进行公证,但随后过程失败并出现错误(下面添加了错误)。
通过网上搜索,我发现此问题与 ascProvider
字段有关。
我将 ProviderShortName
与命令 xcrun altool --list-providers -u <APPLEID> -p <APP_PASSWORD>
一起添加到 ascProvider
,它应该修复了错误,但公证过程仍然失败。
是否还有其他可能来修复此错误?
我从公证中得到的错误
Your Apple ID account is attached to other providers. You will need to specify which provider you intend to submit content to. Please contact us if you have questions or need help. (1627)
2021-03-01 15:00:17.378 altool[48448:1515802] *** Error: Unable to notarize app.
2021-03-01 15:00:17.378 altool[48448:1515802] *** Error: code 1627 (Your Apple ID account is attached to other providers. You will need to specify which provider you intend to submit content to. Please contact us if you have questions or need help. (1627))
我的notarizing.js
是这样的
require('dotenv').config();
const { notarize } = require('electron-notarize');
const fs = require('fs');
const path = require('path');
exports.default = async function notarizing(params) {
const { electronPlatformName,appOutDir } = params;
if (electronPlatformName !== 'darwin') {
return;
}
console.log('afterSign hook triggered',params.targets);
// Same appId in electron-builder.
let appId = 'my.app.com'
let appPath = path.join(params.appOutDir,`${params.packager.appInfo.productFilename}.app`);
if (!fs.existsSync(appPath)) {
throw new Error(`Cannot find application at: ${appPath}`);
}
console.log(`Notarizing ${appId} found at ${appPath}`);
try {
await notarize({
appBundleId: appId,appPath: appPath,appleId: process.env.APPLEID,appleIdPassword: process.env.APPLEIDPASS,ascProvider: process.env.APPLEPROVIDER,});
} catch (error) {
console.error(error);
}
console.log(`Done notarizing ${appId}`);
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。