Electron应用提交Mac App Store遇90287签名权限不匹配错误
解决Mac App Store提交错误90287的方案
一、正确关联密钥与配置文件的步骤
首先明确:com.apple.application-identifier和com.apple.developer.team-identifier这两个密钥不能手动添加到配置文件,它们是Apple Developer Portal生成配置文件时自动绑定的,手动修改配置文件会直接导致验证失效。正确操作流程如下:
核对App ID配置
- 登录Apple开发者后台,进入「Certificates, Identifiers & Profiles」→「Identifiers」,找到你的应用ID
- 确认App ID的「App ID Prefix」(即团队ID)和你签名用的团队ID完全一致
- 确保该App ID已启用「App Store」分发选项(提交Mac App Store必须勾选此项)
重新生成匹配的配置文件
- 进入「Profiles」页面,点击「+」新建配置文件
- 类型选择「Mac App Store」(用于正式提交),如果是测试可选「Developer ID」,但提交商店必须选前者
- 选择对应的App ID、Mac App Store分发证书,完成生成后下载配置文件
- 双击下载的配置文件,将其安装到本地钥匙串,确保证书与配置文件关联正确
配置electron-forge签名参数
- 在
forge.config.js或package.json中明确指定配置文件路径、团队ID和证书,避免工具自动选择错误文件:module.exports = { packagerConfig: { osxSign: { identity: "你的Mac App Store分发证书全称", provisioningProfile: "/绝对路径/到你的配置文件.provisionprofile", entitlements: "./entitlements.plist", entitlementsInherit: "./entitlements.plist" }, osxNotarize: { tool: "notarytool", appleId: "你的Apple ID", appleIdPassword: "App专用密码", teamId: "你的团队ID" } } };
- 在
验证签名与配置文件匹配度
- 签名完成后,用命令检查应用包的签名信息:
codesign -d --entitlements :- /路径/到你的应用.app - 同时解析配置文件内容:
security cms -D -i /路径/到你的配置文件.provisionprofile - 确认输出中
com.apple.application-identifier格式为「团队ID.应用Bundle ID」,且与配置文件内的application-identifier完全一致;com.apple.developer.team-identifier与配置文件的TeamIdentifier一致
- 签名完成后,用命令检查应用包的签名信息:
二、手动添加密钥是否正确?
完全错误。配置文件是Apple签名的二进制文件,任何手动修改都会破坏其合法性,导致Transporter验证失败。这两个密钥必须由Apple通过配置文件自动注入到签名中,无需手动干预。
额外排查点
- 检查你的
entitlements.plist:不要手动添加这两个密钥,否则会和配置文件注入的内容冲突 - 清理本地钥匙串中过期、重复的证书,避免工具选错签名身份
- 签名前删除旧构建产物:
rm -rf out/,防止旧签名残留干扰新流程
内容的提问来源于stack exchange,提问作者ghaniza
相关产品推荐
相关产品推荐

