Notarização de aplicativos da Electron - “Você deve primeiro assinar os contratos relevantes online. (1048) "erro

15

Estou tentando notarizar um aplicativo de elétrons para executá-lo no macOS Catalina. A embalagem foi bem-sucedida, mas o xcrun altoolcomando está lançando o erro "Você deve primeiro assinar os contratos relevantes online. (1048)".

Electron app package.json conteúdo:

"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,

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

Executei o comando conforme mencionado em 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á lançando Você deve primeiro assinar os contratos relevantes online. (1048) erro. Não consigo prosseguir com a assinatura do aplicativo. Socorro!

O pacote ps: electron-notarize está lançando o mesmo erro.

Ganesh Rathinavel
fonte
Ao fazer login na sua conta de desenvolvedor da Apple, você poderá aprovar os contratos.
Richard Barber
@RichardBarber que acordos são esses, onde os encontro?
Ganesh Rathinavel
vá para developer.apple.com clique em associação, role para baixo e clique em contratos. Deve haver um contrato de licença e um contrato de programa. Aceite os contratos e sua data de aceitação será registrada na data de emissão.
Richard Barber
11
Este artigo menciona que tem sido uma falha temporária para eles davidebarranca.com/2019/04/... (Eu também estou enfrentando esse erro depois notarizing já trabalhou e eu não mudar nada no meu código)
Misha Reyzlin
11
Portanto, uma atualização minha mostra que minha conta em nossa organização de desenvolvedores da Apple não era "conta de administrador", então não pude ver esses contratos. Além disso, eles estavam em appstoreconnect.apple.com . Depois que consegui um membro da equipe que tinha acesso de administrador para me ajudar, eles navegaram para o aplicativo para reconectar e aceitaram o contrato legal pendente.
Misha Reyzlin 15/10/19

Respostas:

21

TLDR: verifique se sua conta developer.apple.com possui permissões de administrador para sua organização e vá para https://appstoreconnect.apple.com/ para aceitar os documentos legais.

Também recebi o erro "Erro: você deve primeiro assinar os contratos relevantes online. (1048)".

Navegar para associações de developer.apple.com ou qualquer outra coisa não revelou prompt. Acabou que minha conta de desenvolvedor da Apple não tinha direitos de "administrador" em nossa organização e não pude ver as solicitações legais, mas não havia indicação disso.

Depois que um membro da equipe com acesso de administrador navegou para https://appstoreconnect.apple.com/, havia um contrato pendente que precisava ser aceito e o erro desapareceu.

UPD . Os comentários sugeriram que os acordos também pudessem ser revisados ​​diretamente em https://appstoreconnect.apple.com/agreements/#

Misha Reyzlin
fonte
Depois disso, recebi outro aviso dizendo que "o usuário com a função Jurídica (Titular da conta) deve revisar e aceitar a Agenda de aplicativos pagos". Portanto, o Titular da conta também precisa assinar o Contrato de aplicativos pagos ( appstoreconnect.apple.com/agreements/# ), mesmo se você não estiver desenvolvendo um aplicativo pago.
GavinoGrifoni
4
@Misha Reyzlin Foi uma grande ajuda. Tudo o que eu precisava fazer era preencher e aceitar os contratos de "aplicativos pagos" em appstoreconnect.apple.com/agreements/#
Ganesh Rathinavel
4

Você também pode navegar para https://developer.apple.com/account/#/overview/ {companyid}

Na parte superior, será solicitado o acordo do contrato de licença atualizado. Caso você não tenha os direitos, haverá um botão que gera um e-mail contendo o link para quem puder.

MoxxiManagarm
fonte