xcnotary não é mais necessário! Use xcrun notarytool --wait conforme descrito nos documentos da Apple: Personalizando o Fluxo de Trabalho de Notarização
Com um exemplo conciso dado aqui: #22 (comentário)

Notarismo de um aplicativo MacOS envolve uma série de etapas manuais, incluindo zipando um pacote, carregando -o para a Apple e pesquisando o Serviço de Notarização.
xcnotary automatiza essas etapas para você. Isto:
stderr .
# Install
brew install akeru-inc/tap/xcnotary
# Upgrade
brew update
brew upgrade akeru-inc/tap/xcnotaryPara executar várias verificações de assinatura de código na entrada sem enviar:
xcnotary precheck < input path >Para executar verificações de assinatura de código, envie ao Serviço de Notarização e bloqueie a resposta pela resposta:
xcnotary notarize < input path >
--developer-account < Apple Developer account >
--developer-password-keychain-item < name of keychain item, see below >
[--provider < provider short name > ]
[--no-precheck]Entradas suportadas:
Esta ferramenta não lida com a senha do desenvolvedor da Apple. Em vez disso, o ajudante do altool lê uma senha de ID do desenvolvedor da Apple específica do aplicativo diretamente do chaveiro. Consulte a documentação para o xcrun altool --store-password-in-keychain-item para configurar um item de chaveiro adequado.
O argumento opcional --provider deve ser especificado se a conta do desenvolvedor estiver associada a mais de uma equipe. Este valor pode ser obtido executando o seguinte comando e observando o "providershortname" exibido.
xcrun altool --list-providers -u " $DEVELOPER_ACCOUNT_USERNAME " -p " @keychain: $PASSWORD_KEYCHAIN_ITEM " altool do Xcode se conectará a vários hosts da Apple, conforme descrito na documentação.
Quando o notarização falhar, xcnotary se conectará a https://osxapps-ssl.itunes.apple.com/ na porta 443 para recuperar o log de falhas.
A Documentação da Apple aconselha: "Sempre verifique o arquivo de log, mesmo que o notarização seja bem -sucedido, porque pode conter avisos que você pode corrigir antes do seu próximo envio".
xcnotary buscará e exibirá a resposta do serviço de notarização após a conclusão.
xcnotary tenta verificar a entrada de alguns problemas comuns de notarização antes de enviá -lo para a Apple. Embora não sejam infalíveis, essas verificações podem economizar minutos aguardando uma resposta apenas para falhar devido a um sinalizador de assinatura de código incorreto.

Quando a entrada é um pacote de aplicativos, as seguintes verificações serão executadas:
Quando a entrada é um .dmg ou um .pkg , apenas a verificação de assinatura do ID do desenvolvedor é executada, ou seja, a única verificação que pode ser executada no momento sem extrair o conteúdo. No seu fluxo de trabalho, você pode executar xcnotary precheck em seu alvo de pacote antes de empacotá -lo.
Em casos raros, pode ser útil solucionar problemas de assinatura de código diretamente usando a resposta do Serviço de Notarização. Para fazer isso, especifique --no-precheck ao invocar xcnotary notarize .
Os exemplos a seguir definem vários sinalizadores de construção necessários, como a assinatura de código com um "registro de data e hora seguros".
xcodebuild
-target < target >
-scheme < scheme >
-configuration Release
-derivedDataPath .xcodebuild
" CODE_SIGN_IDENTITY=Developer ID Application: <team name> "
" OTHER_CODE_SIGN_FLAGS=--timestamp --options=runtime "
CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO
CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY deve corresponder ao certificado de chaveiro correspondente.
Observe que --options=runtime terá o efeito de optar em seu binário para o ambiente de tempo de execução endurecido. Você provavelmente deseja primeiro ativar manualmente o recurso "tempo de execução endurecido" nas configurações de destino do Xcode> "assinatura e recursos" e verifique se o seu aplicativo funciona conforme o esperado. Lá, você também pode adicionar direitos para relaxar as restrições de tempo de execução.
pkgbuild
--component < path to bundle built according to above specs >
--sign " Developer ID Installer: <team name> "
--timestamp
< output_pkg_name.pkg >Código depois de criar o DMG:
codesign -s " Developer ID Application: <team> " < dmg >Alterar log
Solicitações/comentários/perguntas do recurso? Escreva: [email protected]