公证电子应用程序抛出 - "You must first sign the relevant contracts online. (1048)" 错误

Notarizing Electron apps throws - "You must first sign the relevant contracts online. (1048)" error

我正在尝试对 electron 应用程序进行公证,使其 运行 在 macOS Catalina 上运行。打包成功但xcrun altool命令抛出“您必须先在线签署相关合同。(1048)”错误。

电子应用package.json内容:

"mac": {
      "entitlements": "./build/entitlements.mac.inherit.plist",
      "hardenedRuntime": true,
      "type": "distribution",
      "category": "public.app-category.productivity",
      "icon": "build/icon.icns",
      "target": [
        "dmg",
        "zip"
      ]
    },
   "dmg": {
      "sign": false,

entitlements.mac.inherit.plist 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.application-identifier</key>
    <string><app.bundle.name></string>
    <key>com.apple.developer.team-identifier</key>
    <string><TEAMID></string>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <array>
      <string><app.bundle.name></string>
    </array>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
  </dict>
</plist>

我运行

中提到的命令
xcrun altool --notarize-app -f App.dmg --primary-bundle-id app.bundle.name -u <username> -p <app-specific-password>

投掷您必须先在线签署相关合同。 (1048) 错误。我无法继续进行应用程序签名。求助!

ps: electron-notarize 包抛出同样的错误。


It has been two years since I asked this and I had to bookmark my own question just because Apple keeps annoying the devs with such frequent policy changes.

TLDR:有两个 处可能需要签署合同。检查这些 URL:


我也收到错误“错误:您必须先在线签署相关合同。(1048)”。

导航到 developer.apple.com 会员资格或其他任何内容都没有显示提示。原来,我的 Apple 开发者帐户在我们组织内没有“管理员”权限,我看不到法律提示,但没有任何迹象表明这一点。

在具有管理员访问权限的团队成员导航到 https://appstoreconnect.apple.com/ 后,有一个必须接受的未决协议,错误消失了。

UPD。评论建议也可以在 https://appstoreconnect.apple.com/agreements/#

直接审查这些协议

您还可以导航到 https://developer.apple.com/account/#/overview/{companyid}

顶部会提示同意更新后的许可协议。如果您没有权限,将会有一个按钮生成一封电子邮件,其中包含 link 给那些有权限的人。