26

I am trying to Notarize an electron app to make it run on macOS Catalina. The packaging was successful but the xcrun altool command is throwing "You must first sign the relevant contracts online. (1048)" error.

Electron app package.json contents:

"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 file:

<?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>

I ran the command as mentioned in https://stackoverflow.com/a/53121755

xcrun altool --notarize-app -f App.dmg --primary-bundle-id app.bundle.name -u <username> -p <app-specific-password>

It is throwing You must first sign the relevant contracts online. (1048) error. I am unable to proceed with the app signing. Help!

ps: electron-notarize package is throwing the same error.


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.

Ganesh Rathinavel
  • 1,243
  • 4
  • 17
  • 38
  • 1
    logging into your apple dev account you should be able to approve the agreements. – Richard Barber Oct 13 '19 at 10:45
  • @RichardBarber what agreements are those, where do I find them? – Ganesh Rathinavel Oct 14 '19 at 05:35
  • go to developer.apple.com click membership, then scroll down and click agreements. There should be a licensing agreement and a program agreement. Accept the agreements and your acceptance date will be noted under the issue date. – Richard Barber Oct 14 '19 at 06:25
  • @RichardBarber thank you. These were accepted long time back. I think I should write to apple regarding the same – Ganesh Rathinavel Oct 14 '19 at 11:19
  • 1
    This article mentions it’s been a temporary glitch for them https://www.davidebarranca.com/2019/04/notarizing-installers-for-macos-catalina/ (I’m also experiencing this error after notarizing already worked and I didn’t change anything in my code) – Misha Reyzlin Oct 15 '19 at 13:13
  • 1
    So, an update from me, turns out my account on our Apple developer organization was not "admin account" so I couldn’t see these agreements. Also, they turned out to be at https://appstoreconnect.apple.com/. Once I got a team member who had admin access to help me, they navigated to appstoreconnect thing and accepted pending legal agreement. – Misha Reyzlin Oct 15 '19 at 13:20
  • I have lost count on the number of time I myself had to visit this page to find the link to fix the Notarizing error. -_- – Ganesh Rathinavel Jul 01 '21 at 18:54

2 Answers2

53

TLDR: There are two places where contracts may need to be signed. Check at these URLs:


I also got the error "Error: You must first sign the relevant contracts online. (1048)".

Navigating to developer.apple.com memberships or anything else didn’t reveal prompt. It turned out, my Apple developer account had no "admin" rights within our organization and I could not see the legal prompts, but there was no indication of this.

After a team member with admin access navigated to https://appstoreconnect.apple.com/ there was a pending agreement that had to be accepted and the error went away.

UPD. Comments suggested that the agreements could also be directly reviewed at https://appstoreconnect.apple.com/agreements/#

laurent
  • 88,262
  • 77
  • 290
  • 428
Misha Reyzlin
  • 13,736
  • 4
  • 54
  • 63
  • 3
    After doing this, I got another prompt saying that "the user with the Legal role (Account Holder) must review and accept the Paid Applications Schedule". So the Account Holder also has to sign the Paid Apps Agreement (https://appstoreconnect.apple.com/agreements/#/), even if you are not developing a Paid App. – GavinoGrifoni Oct 15 '19 at 15:32
  • 5
    @Misha Reyzlin It was a great help. All that I had to do was to fill in and accept the "Paid Apps" Agreements in appstoreconnect.apple.com/agreements/# – Ganesh Rathinavel Oct 24 '19 at 06:12
6

You can also navigate to https://developer.apple.com/account/#/overview/{companyid}

At the top will be a prompt to agree the updated license agreement. In case you don't have the rights there will be a button which generates an email containing the link to those who can.

MoxxiManagarm
  • 8,735
  • 3
  • 14
  • 43