Notarizing Electron throws de aplicaciones: “Primero debe firmar los contratos relevantes en línea. (1048) "error

15

Estoy tratando de notarizar una aplicación de electrones para que se ejecute en macOS Catalina. El empaque fue exitoso pero el xcrun altoolcomando arroja el error "Primero debe firmar los contratos relevantes en línea. (1048)".

Contenido de la aplicación electrónica 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,

archivo rightlements.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>

Ejecuté el comando como se menciona en https://stackoverflow.com/a/53121755

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

Está lanzando Primero debe firmar los contratos relevantes en línea. (1048) error. No puedo continuar con la firma de la aplicación. ¡Ayuda!

ps: el paquete electron-notarize arroja el mismo error.

Ganesh Rathinavel
fuente
Al iniciar sesión en su cuenta de Apple Dev debería poder aprobar los acuerdos.
Richard Barber
@RichardBarber ¿Qué acuerdos son esos? ¿Dónde los encuentro?
Ganesh Rathinavel
vaya a developer.apple.com haga clic en membresía, luego desplácese hacia abajo y haga clic en acuerdos. Debe haber un acuerdo de licencia y un acuerdo de programa. Acepte los acuerdos y su fecha de aceptación se anotará en la fecha de emisión.
Richard Barber
1
Este artículo menciona que ha sido una falla temporal para ellos davidebarranca.com/2019/04/… (También estoy experimentando este error después de que la certificación notarial ya funcionó y no cambié nada en mi código)
Misha Reyzlin,
1
Entonces, una actualización mía, resulta que mi cuenta en nuestra organización de desarrolladores de Apple no era "cuenta de administrador", por lo que no pude ver estos acuerdos. Además, resultaron estar en appstoreconnect.apple.com . Una vez que obtuve un miembro del equipo que tenía acceso de administrador para ayudarme, navegaron a lo relacionado con la tienda de aplicaciones y aceptaron un acuerdo legal pendiente.
Misha Reyzlin

Respuestas:

21

TLDR: verifique que su cuenta developer.apple.com tenga permisos de administrador para su organización y vaya a https://appstoreconnect.apple.com/ para aceptar los documentos legales.

También recibí el error "Error: primero debe firmar los contratos relevantes en línea. (1048)".

Navegar a membresías developer.apple.com o cualquier otra cosa no reveló el aviso. Resultó que mi cuenta de desarrollador de Apple no tenía derechos de "administrador" dentro de nuestra organización y no podía ver los avisos legales, pero no había indicios de esto.

Después de que un miembro del equipo con acceso de administrador navegó a https://appstoreconnect.apple.com/ hubo un acuerdo pendiente que tuvo que ser aceptado y el error desapareció.

UPD . Los comentarios sugirieron que los acuerdos también podrían revisarse directamente en https://appstoreconnect.apple.com/agreements/#

Misha Reyzlin
fuente
Después de hacer esto, recibí otro mensaje que decía que "el usuario con el rol Legal (Titular de la cuenta) debe revisar y aceptar el Programa de solicitudes pagas". Por lo tanto, el Titular de la cuenta también debe firmar el Acuerdo de aplicaciones pagas ( appstoreconnect.apple.com/agreements/# ), incluso si no está desarrollando una aplicación pagada.
GavinoGrifoni
44
@Misha Reyzlin Fue de gran ayuda. Todo lo que tenía que hacer era completar y aceptar los acuerdos de "Aplicaciones pagas" en appstoreconnect.apple.com/agreements/#
Ganesh Rathinavel
4

También puede navegar a https://developer.apple.com/account/#/overview/ {companyid}

En la parte superior aparecerá un mensaje para acordar el acuerdo de licencia actualizado. En caso de que no tenga los derechos, habrá un botón que genera un correo electrónico que contiene el enlace para aquellos que sí pueden.

MoxxiManagarm
fuente