Assinado mas ainda não consegue abrir

0

Um colega meu assinou um aplicativo em que estamos trabalhando. Tentando abri-lo do localizador, recebo uma mensagem de erro

"‹ Name ›” não pode ser aberto porque é de um desenvolvedor não identificado

(ou a tradução local disso). No console eu leio

CoreServicesUIAgent[‹pid›]: Error -60005 creating authorization

Mas se eu executar o codesign no código, parece dar uma olhada bem:

$ codesign -vv .
.: valid on disk
.: satisfies its Designated Requirement

Então parece que o pacote foi assinado corretamente. Para obter mais detalhes:

$ codesign -dvv .
Executable=…
Identifier=…
Format=app bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20200 size=440 flags=0x0(none) hashes=8+3 location=embedded
Signature size=4731
Authority=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=21.07.2016, ‹Time›
Info.plist entries=25
TeamIdentifier=‹TeamID›
Sealed Resources version=2 rules=12 files=1164
Internal requirements count=1 size=208

Então, do Authority= Eu concluiria que a cadeia de certificados também poderia ser verificada e levaria de volta à Apple. Como isso é "não identificado"?

De esta postagem Eu aprendi sobre spctl, mas também não fornece muita informação:

$ spctl --assess -vvvv .
.: rejected
origin=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)

Como posso obter mais informações sobre o porquê exatamente o aplicativo não consegue carregar?

MvG
fonte

Respostas:

1

Ao formular a pergunta, tentei várias combinações de palavras-chave e finalmente encontrei Diferença entre "Mac Developer" e "3rd Party Mac Developer Application" no Stack Overflow, que levou à documentação do desenvolvedor sobre Mantendo Certificados que por sua vez escreve isso:

  • Tipo: Distribuição Mac App:
    Nome: 3rd Party Mac Developer Application: Team Name
    Descrição: Usado para assinar um aplicativo do Mac antes de enviá-lo para a Mac App Store.

  • Tipo: Aplicativo de ID do desenvolvedor:
    Nome: Developer ID Application: Team Name
    Descrição: Usado para assinar um aplicativo do Mac antes de distribuí-lo fora da Mac App Store.

Portanto, aparentemente, essa forma de assinatura de código é adequada apenas para envio para a App Store, mas não para distribuição autônoma. Isso levou algum tempo para se resolver, então espero que este Q & amp; A ajude os outros a evitar esse tempo.

MvG
fonte