Electron: Rejeição de API privada da Mac App Store: Electron 5.0.10

Criado em 29 ago. 2019  ·  144Comentários  ·  Fonte: electron/electron

Detalhes do problema

  • Versão eletrônica: 5.0.10

Email de rejeição

ITMS-90338: Uso não público da API - O aplicativo contém ou herda classes não públicas em Contents / Frameworks / Electron Framework.framework / Versions / A / Electron Framework: CAContext, CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileType. Se os nomes dos métodos em seu código-fonte corresponderem às APIs da Apple privadas listadas acima, alterar os nomes dos métodos ajudará a evitar que este aplicativo seja sinalizado em envios futuros. Além disso, observe que uma ou mais das APIs acima podem estar localizadas em uma biblioteca estática incluída em seu aplicativo. Nesse caso, eles devem ser removidos. Para obter mais informações, visite as informações de suporte técnico em http://developer.apple.com/support/technical/

5-0-x 6-1-x 7-0-x 7-1-x app-store bug

Comentários muito úteis

Lista de APIs privadas detectadas:

  • _fileport_makefd
  • _fileport_makeport
  • CAContext
  • CALayerHost
  • NSAccessibilityRemoteUIElement
  • NSNextStepFrame
  • NSThemeFrame
  • NSURLFileTypeMappings

Apenas comente sobre este problema se o seu e-mail de rejeição tiver APIs que não estão na lista acima. Se você apenas comentar +1 seu comentário será removido. Se você também estiver enfrentando essa rejeição, reaja a esse problema com 👍 para indicar isso.

Todos 144 comentários

Eu faço downgrade do Electron para 5.0.9 e ainda recebo e-mail de rejeição.

Recebi esta rejeição esta manhã para Electron 5.0.4 e também para 5.0.10. Acho que algo mudou no final da Apple.

Grande ponto de parada para mim. Eu preciso de uma solução urgente. por favor ajude.

Lista de APIs privadas detectadas:

  • _fileport_makefd
  • _fileport_makeport
  • CAContext
  • CALayerHost
  • NSAccessibilityRemoteUIElement
  • NSNextStepFrame
  • NSThemeFrame
  • NSURLFileTypeMappings

Apenas comente sobre este problema se o seu e-mail de rejeição tiver APIs que não estão na lista acima. Se você apenas comentar +1 seu comentário será removido. Se você também estiver enfrentando essa rejeição, reaja a esse problema com 👍 para indicar isso.

As relações com o desenvolvedor responderam e declararam que acreditam que o problema estava em questão e que irão investigá-lo. Verifiquei esta noite e minhas compilações rejeitadas anteriormente estão disponíveis agora no App Store Connect.

Acabei de verificar também e minha construção rejeitada anteriormente (Electron 4.2.9) também está disponível na loja.

Obrigado @gaodeng , @mytran e @ ogi1982 pelas novas informações. Parece que a apple conseguiu alguns contatos e corrigiu o sistema ou colocou o framework na lista de permissões temporariamente. Ainda estou esperando para ouvir de volta o que aconteceu exatamente.

Vou deixar isso aberto pelo menos até a próxima semana, onde espero que tenhamos mais informações

Agora posso carregar minha construção com Electron 5.0.10 para a Loja também. Provavelmente deixarei para @MarshallOfSound para fechar este tíquete :)

Meu aplicativo que usa Electron 4.2.12 acabou de ser rejeitado devido às seguintes APIs:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Electron 5.0.11

Seu aplicativo usa ou faz referência às seguintes APIs não públicas:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

elétron: 6.0.10

Diretriz 2.5.1 - Desempenho - Requisitos de software
Seu aplicativo usa ou faz referência às seguintes APIs não públicas:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

elétron 3.0.2

Seu aplicativo vincula-se às seguintes estruturas não públicas:

CAContext
CALayerHost
NSURLFileTypeMappings

@MarshallOfSound , podemos fazer algo para ajudar?
eu não tenho as habilidades para consertar isso sozinho

@zcbenz parece que você já fez patches antes, pode fazer um novo para eles?

desculpe por estressar, mas tenho uma atualização importante para meu aplicativo que precisa ser implantado

Tente apelar e diga que você está usando o Electron e que as APIs são internas ao Electron:
https://developer.apple.com/contact/app-store/?topic=appeal

Atualizado para o elétron v7.0.0 mais recente e foi rejeitado novamente.

@mytran
não pense que um apelo vai ajudar mais do que talvez uma vez
melhor tentar consertar isso

vejo que é um arquivo de patch na base de código
patches \ chromiummas_no_private_api.patch

se de alguma forma pudermos adicionar as APIs lá
Eu ainda não descobri como fazer isso

e para aqueles que sabem fazer isso.
Se eles não tiverem tempo para consertar, talvez possamos patrociná-los?
tempo é dinheiro :)

Se todo mundo que precisa disso para ser consertado doou alguns $
Acho que vai se acumular e talvez acelere essa correção

rejeitou hoje o elétron 6.0.12 e também com 7.0.0

Seu aplicativo vincula-se às seguintes estruturas não públicas:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

funciona com o Electron 5?

Informei a Apple sobre meu aplicativo usando elétron etc. e recebi isto:

"Olá,

Obrigado por fornecer esta informação.

Com relação a 2.5.1, seu aplicativo usa ou faz referência às seguintes APIs não públicas. Se você não tiver acesso ao seu binário ou não tiver certeza de como remover as APIs em questão, entre em contato com o provedor de serviços para obter suporte técnico. "

Versão 3.0.0-beta.5 mas rejeitada também para apis privadas:

CAContext
CALayerHost
NSURLFileTypeMappings

Apenas uma semana atrás, acabamos de passar com sucesso na auditoria da apple usando a mesma versão mas. Eu estou me perguntando se o antigo arquivo electron-v3.0.0-beta.5-mas-x64.zip foi reconstruído no lado do servidor de download ou o arquivo zip nunca foi modificado enquanto a Apple muda sua estratégia de API privada ou ambos? alguma dica para vocês, porque isso é realmente frustrante e irritante.

Também estou tendo o mesmo problema com 6.0.11 ao tentar construir o hiperespaçoev / hiperespaço :

Seu aplicativo inclui uma versão de um SDK da Electron que viola as diretrizes de revisão da App Store. A versão do Electron SDK que você está usando em seu aplicativo tenta ocultar o uso de APIs privadas. Esta é uma violação da Seção 2.5.1 das Diretrizes de Revisão da App Store.

Uso de classe particular encontrado:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Não sei se isso está relacionado, mas acho que também está causando uma falha no aplicativo com um erro "Operação não permitida".

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   exc handler [3221]

Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
Could not set sandbox profile data: Operation not permitted (1)

@nornagon você pode nos ajudar com isso?
vejo que você já fez coisas semelhantes antes

@JCBsystem e tudo. Eu teria muito cuidado ao mudar qualquer coisa apenas para passar pela Apple. Sua última mensagem dizia:

_ "Continuar a usar ou ocultar APIs não públicas em envios futuros deste aplicativo pode resultar no encerramento de sua conta de desenvolvedor da Apple, bem como na remoção de todos os aplicativos associados da App Store." _

Não quero ver nenhum dos meus outros aplicativos comprometidos, então espero uma correção oficial no futuro (se possível).

Pode ser que um dos moderadores / mantenedores pode escalar isso (e renomear, já que afeta o Electron 6 e o ​​Electron 7 também, tentei com 7.0.1 também).

Eu comecei a ter o mesmo problema. Nosso aplicativo foi originalmente aceito há cerca de um mês, mas a tentativa de enviar uma atualização falhou.

Não tenho certeza da versão exata do Electron, mas é o que o cordova-electron mais recente depende.

(Obrigado também a @gurugeek por chamar a atenção para isso no HN.)

Parece que a Apple colocou mais APIs privadas em sua lista negra. E para esclarecer, todas essas APIs estão sendo usadas pelo Chromium.

@ buu700 de nada! Eu acho que isso é um grande negócio para todos os usuários de elétrons direta ou indiretamente. Portanto, esperançosamente, haverá uma solução (oficial) em breve.

Sim, seria ridículo se o Electron fosse efetivamente preterido no macOS de forma tão casual e sem aviso. Esperançosamente, há uma maneira realista de resolver isso no Electron e / ou Chrome, ou a Apple está disposta a ser flexível com isso.

As APIs fileport_makefd e fileport_makeport são usadas pelo mojo (biblioteca IPC do Chromium) e parecem impossíveis de remover, mas não parecem aparecer em relatórios recentes, portanto, provavelmente não há problema em mantê-las por enquanto.

As APIs CAContext e CALayerHost têm sido usadas pelo Chromium desde pelo menos 5 anos atrás, existem apenas alguns lugares usando-as, mas elas estão no código gráfico principal, deve ser possível remover eles, mas primeiro temos que descobrir o que eles realmente fazem.

As outras NS APIs devem ser fáceis de remover:
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

O Slack foi atualizado recentemente, como eles passaram na revisão, alguém sabe?
Screen Shot 2019-11-04 at 9 24 36 AM

A atualização do @cyph que enviei foi rejeitada há três dias, e parece que a rejeição de @gurugeek foi há dois dias, então acho que o Slack mal

A Mozilla publicou recentemente um bom artigo sobre o motivo pelo qual eles começaram a usar a API CALayer não documentada no Firefox 69. O TLDR é que essas APIs privadas permitiram que eles obtivessem um uso de bateria até 3x melhor no Firefox. O artigo também mencionou que o Chrome usa essas APIs do Core Animation.

Este problema não me afeta diretamente, nem eu o entendo. Mas pensei em compartilhar o artigo acima, caso ajude a descobrir a causa raiz do problema.

Alguém estaria interessado em validar o binário de elétrons para mim? Minha assinatura do Apple Developer expirou e não quero me incomodar em comprá-la novamente 😃.

O binário é baseado na versão 7.0.1 com símbolos de depuração:
https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL

As mudanças podem ser encontradas em mas-patch-remote-layer-7-0-x branch . Atualmente, desativei todas as chamadas relatadas, exceto fileport_makefd e fileport_makeport , portanto, é possível que o binário seja rejeitado novamente.

@zcbenz
Ótimo trabalho!
tentará fazer o upload em um ou dois dias
preciso terminar algumas mudanças primeiro :)

obrigado novamente!

fez uma varredura com otool -ov como os açúcares da Apple
antes que houvesse
CAContext 1 hit
CALayerHost 1 hit
NSAccessibilityRemoteUIElement 3 hit
NSNextStepFrame 2 hit
NSThemeFrame 2 hit
NSURLFileTypeMappings 1 hit

então new mas-patch-remote-layer-7-0-x build hade 0 hits :)
parece bom

antes
fileport_makeport 0 hits
fileport_makefd 0 hits
depois de
fileport_makeport 0 hit
fileport_makefd 0 hit

Usando cordas, a outra ferramenta que a Apple sugeriu, consegui um sucesso
para CAContext
'Frame não tinha CAContext válido nem IOSurface válido.'
parece uma exceção msg ou similar
não sei o quão exigente a Apple é

antes
fileport_makeport 3 hits
fileport_makefd 2 hits
depois de
fileport_makeport 1 hit
fileport_makefd 0 hit

Meu aplicativo acaba de ser rejeitado por causa de chamadas de API privadas (Electron v. 4.0.4). A Apple sugeriu as seguintes resoluções:

"Para resolver esse problema, remova o Electron SDK inteiramente de seu aplicativo ou revise-o para utilizar a versão 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7.16 do Electron SDK. Uma vez você fez uma dessas alterações, reenvie seu binário para revisão. "

Downgrade para 3.0.0-beta.7. Vamos ver o que acontece...

"Para resolver esse problema, remova o Electron SDK inteiramente de seu aplicativo (fiquei chocado ao ler isso) ou revise seu aplicativo para utilizar a versão 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7. 16 do Electron SDK. Depois de fazer uma dessas alterações, reenvie seu binário para análise. "

Isso soa suspeitamente como uma lista branca direcionada de versões do Electron. Deixe-me fazer algumas pesquisas e ver o que posso encontrar.

@ivandroid foi a mensagem de hoje? Você também pode postar a lista das chamadas API que foram sinalizadas pela Apple? Talvez a Apple tenha decidido ser mais explícita e lhe deu pelo menos alguma orientação. Ontem foi uma mensagem muito mais dura. @MarshallOfSound obrigado por investigar isso. Seria bom saber se 3.0.0.-beta7 atende a esses requisitos.

@ivandroid foi a mensagem de hoje? Você também pode postar a lista das chamadas API que foram sinalizadas pela Apple? Talvez a Apple tenha decidido ser mais explícita e lhe deu pelo menos alguma orientação. Ontem foi uma mensagem muito mais dura. @MarshallOfSound obrigado por investigar isso. Seria bom saber se 3.0.0.-beta7 atende a esses requisitos.

Sim, recebi a mensagem de rejeição hoje.

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Mesma resposta do apelo

_Seu aplicativo inclui uma versão de um SDK da Electron que viola as diretrizes de revisão da App Store. A versão do Electron SDK que você está usando em seu aplicativo tenta ocultar o uso de APIs privadas. Esta é uma violação da Seção 2.5.1 das Diretrizes de Revisão da App Store.

Notas Adicionais:

Para resolver esse problema, remova o Electron SDK inteiramente de seu aplicativo ou revise seu aplicativo para utilizar a versão 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7.16 do Electron SDK. Depois de fazer uma dessas alterações, reenvie seu binário para revisão.

Esperamos que você considere fazer as alterações necessárias para estar em conformidade com as Diretrizes de revisão da App Store e reenvie seu binário revisado._

Oi pessoal, também estou encontrando esse problema atualmente (primeiro envio do macOS à App Store, então não tenho ideia do que fazer sobre isso e apenas escute aqui ;-)).
Mensagem na AppStore:

Diretriz 2.5.1: Os aplicativos podem usar apenas APIs públicas.
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Estou usando o elétron v4.2.10.

Eu tentei com o binário Electron que @zcbenz postou em https://github.com/electron/electron/issues/20027#issuecomment -549295886, ainda recebo a mesma carta de rejeição abaixo. Parece que a Apple está rejeitando com base na versão do Electron.

Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.

Found private class usage:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Uma compilação 3.0.0-Beta.7 foi rejeitada. :(

Uso de classe particular encontrado:
CAContext
CALayerHost
NSURLFileTypeMappings

Também encontrando este problema atualmente, o elétron v4.2.6

Diretriz 2.5.1 - Desempenho - Requisitos de software

Seu aplicativo usa ou faz referência às seguintes APIs não públicas:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Alguma solução oficial?

@thomasdao Isso é interessante, parece que eles nem estão sinalizando APIs privadas. Eles apenas sinalizaram versões de estrutura de elétrons. 🤔

@thomasdao você digitalizou sua construção antes de enviá-la usando 'otool -ov' e strings?

@JCBsystem como você verifica a construção? Usei o Electron Builder e não tenho muita certeza de qual arquivo escanear, tentei com os arquivos .app e .pkg e o comando mostrou um erro.

O que fiz foi baixar o arquivo binário eletrônico do link fornecido por @zcbenz , substituí-lo pelo arquivo local na pasta node_modules depois construir. Posso perder algumas etapas, se você tiver outras sugestões, me avise para que eu possa tentar novamente, obrigado!

@thomasdao
abra um console em 'xxx.app/Contents/Frameworks/Electron \ Framework.framework / Versions / A'
então corra
otool -ov Electron \ Framework> ../../../../../../dump.txt
e
strings Electron \ Framework> ../../../../../../dump1.txt

abra os arquivos de despejo e faça uma busca pelas chaves API

ou envie-me o aplicativo e eu testarei para você :)

@JCBsystem obrigado pela instrução. Os arquivos de despejo estão em https://drive.google.com/file/d/1POwnOX_jMcahUi4beBdo7viKjaeey8PY/view?usp=sharing , acho que ainda contém API privada. Provavelmente, simplesmente substituir o binário Electron em node_modules não remove realmente a API privada na compilação final. Se você tiver alguma sugestão, posso tentar enviar novamente para a Apple.

@thomasdao
sim, as chaves API ainda estão lá
parece que você não obteve a compilação de teste em sua compilação

não sei como adicionar a compilação de teste correta na compilação do yoru MAS
talvez @MarshallOfSound ou @zcbenz possam lhe dizer

ainda acho que a nova compilação do zcbenz funcionará

@ electron / get (via electron-packager ou outras ferramentas semelhantes) baixa os builds de elétrons do repositório oficial e os armazena em cache em ~ / Library / Caches / electron, independentemente do que for encontrado no diretório node_modules / electron local. Substituí o Electron.app em cache pelo de @zcbenz e ele foi escolhido para empacotamento. (_notação: o arquivo do patch tem alguns problemas, em que algumas pastas que deveriam ser aliases estão incluídas por completo e alguns frameworks estão presentes, que normalmente não são incluídos nas compilações mas do electron_).

A execução de otool no pacote resultante não sinaliza nenhuma API na lista negra e o próprio aplicativo passa por um teste de fumaça básico. Eu o enviei para testes da Apple hoje, embora o patch oficial do Electron por @zcbenz pareça estar muito próximo do lançamento oficial. Pelo menos podemos ver se eles estão realmente verificando os binários para as APIs vinculadas ou se procuram versões do Electron.

Muito obrigado a @zcbenz por este patch! 👍

@netop obrigado por isso. Apenas para os meros desenvolvedores de JS mortais aqui, quais são as etapas a serem realizadas antes de reconstruir e verificar o pacote antes do envio?
Etapa 1) baixar a versão corrigida de @zcbenz em https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL e etapa 2, 3, 4 ..? :

Acho que existe um PR para o ramo 5x talvez seja melhor esperar isso e instalar via NPM?

@gurugeek com certeza a melhor maneira é aguardar o patch oficial do Electron.

Acontece que nosso aplicativo enfrentou um problema crítico que constituiu um incentivo considerável para tentar isso. Além disso, há um pedido neste tópico de @zcbenz para alguém com uma conta Apple Dev para testar se o patch realmente funciona.

Voltarei aqui com detalhes assim que a equipe de revisão da Apple responder.

@netop também está disposto a tentar antes do patch oficial. Só não consegui descobrir (ainda), então se você souber o que preciso substituir / verificar, me avise.

Bem ... ainda não funcionou totalmente. A lista negra anterior foi ultrapassada, mas agora estamos sinalizando estes:

__CFCopyServerVersionDictionary
__CFCopySystemVersionDictionary
__kCFSystemVersionBuildVersionKey
__kCFSystemVersionProductNameKey
__kCFSystemVersionProductVersionExtraKey
__kCFSystemVersionProductVersionKey

Nenhuma referência aos métodos fileport_* .

Não tenho certeza se esses itens estão presentes apenas na compilação do @zcbenz ou se também eram a compilação oficial do Electron, poderei verificar mais tarde. Pode ser que @zcbenz também dmg na construção, o que também explicaria as estruturas adicionais incluídas no pacote (veja este problema potencialmente relacionado e os links lá).

Eu só queria que a Apple fornecesse apenas uma lista negra / lista branca de API ou uma ferramenta para verificar as compilações, em vez de jogar por tentativa e erro ...

@netop Obrigado por testar a compilação. Acontece que esqueci de limpar os arquivos antigos antes de fazer uma nova compilação e alguns arquivos de compilação não-MAS foram misturados à compilação que enviei.

Eu reenviei uma compilação limpa, desculpe pelo problema.
https://drive.google.com/file/d/1foCvpd2YuD7oEBFvwQwmubtdnS6_VIlN/view?usp=sharing

@zcbenz Vou tentar novamente empacotar e enviar - mas você poderia conceder permissão para baixar a versão atualizada. Muito obrigado!

Além disso, parece que os símbolos vêm de crashpad_handler - então talvez eu mesmo possa remover esse arquivo. Caso contrário, as estruturas parecem estar OK ... 🤞

@netop O link de download deve funcionar agora. Além de crashpad_handler , você também precisa remover Squirrel.framework do pacote.

@zcbenz Muito obrigado pelo suporte, eu Squirrel.framework da última vez, acabei de perder crashpad_handler . Como sua nova compilação é baseada no 7.1.0 desta vez, ficarei com a anterior por conveniência e segurança, com a única alteração sendo o módulo culpado removido. Posso testar a atualização 7.1.0 depois disso, se o aplicativo for aprovado.

Estou enviando o mais rápido possível e voltarei com o resultado assim que o tiver.

OK - então o aplicativo foi aceito e agora está _Pronto para venda_. Um grande OBRIGADO a @zcbenz pelo custom build 🙏.

alguma estimativa de tempo para o patch oficial?

Obrigado @zcbenz!

alguma estimativa de tempo para o patch oficial?

Você pode acompanhar https://github.com/electron/electron/pull/20965 sobre o andamento.

Atualmente, como desativar APIs de camada remota pode prejudicar significativamente o desempenho, estamos aguardando as respostas da Apple para ver se é possível desbloquear CAContext e CALayerHost para nós, ou se existe uma maneira melhor de patch para evitar impacto no desempenho.

Como usar a compilação com patch @zcbenz mas (até que uma solução mais limpa esteja disponível)

Com base em uma solicitação anterior, esta é uma descrição do que fazer para usar o patch @zcbenz com sua ferramenta de empacotamento de aplicativo.

Nota inicial : nosso aplicativo é construído para várias plataformas, sendo uma delas Electron. Por causa disso, precisamos de um pouco mais de controle sobre o processo de empacotamento, portanto, estamos usando electron-packager e não electron-builder . As etapas a seguir se aplicam à abordagem electron-packager , com a compilação 7.0.1 . No entanto, se você estiver usando o builder, deve ser fácil usar a opção de configuração comum electronDist para obter o mesmo resultado. Além disso, usar a compilação 7.1.0 é semelhante, você deve apenas adaptar as instruções de acordo.

Esta é a sequência de etapas pelas quais passei:

  1. Baixei e limpei o pacote Electron.app de @zcbenz.

    O pacote inicial baseado em 7.0.1 tinha algumas estruturas e bibliotecas adicionais que não eram necessárias para mas (como Squirrel e crash_pad), o pacote atualizado com base em 7.1.0 não os inclui mais. No entanto, ambos têm um problema com o arquivo zip não processando links simbólicos (aliases) corretamente, e alguns binários são incluídos mais de uma vez, tornando-o muito maior do que deveria. Você pode baixar a versão limpa aqui (com base na compilação 7.0.1 ) e usá-la como está, ou pode apenas usá-la como um modelo.

  2. Configure o empacotador de elétrons para usar a construção de elétrons específica e execute uma vez

    Isso depende da maneira como você está usando a ferramenta. No meu caso, estou usando a API e não a CLI, então defini a opção electronVersion para especificar 7.0.1 no código. Execute o empacotador - ele usará @electron/get para baixar e armazenar em cache uma compilação oficial 7.0.1 Electron (_notação: você também pode usar a configuração mirrorOptions , se quiser ficar mais sofisticado e hospedar o construção personalizada em algum lugar - mas para esta correção temporária, eu não fui dessa forma) _. Depois de configurar isso, deixe o empacotador criar um pacote com a construção oficial - não faça upload para armazenar nem nada. Apenas certifique-se de que ele usa a versão Electron especificada.

  3. Encontre e substitua a construção do Electron em cache e execute novamente

    @electron/get armazena os downloads em cache no diretório ~/Library/Caches/electron . Normalmente, deve haver várias versões do Electron baixadas lá, procure aquela que é usada para o pacote 7.0.1 macOS App Store. O nome do subdiretório que você procura deve ser httpsgithub.comelectronelectronreleasesdownloadv7.0.1electron-v7.0.1-mas-x64.zip e deve conter um arquivo zip da compilação de elétrons. Substitua esse arquivo zip pelo build @zcbenz limpo obtido na etapa 1 . Execute o empacotador novamente - ele deve pular o download oficial e usar a versão em cache que você acabou de substituir.

  4. Verifique o resultado para o uso privado da API

    Use otool conforme instruído por @thomasdao. Abra um console de xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A e execute

    otool -ov Electron\ Framework > ../../../../../../dump.txt
    

    em seguida, procure na saída os símbolos em questão, eles não devem aparecer

    CAContext
    CALayerHost
    NSAccessibilityRemoteUIElement
    NSNextStepFrame
    NSThemeFrame
    NSURLFileTypeMappings
    

    Como alternativa, se você estiver mais familiarizado com a ferramenta GUI, pode usar o

    _Observação: Na minha primeira tentativa eu perdi o crash_pad módulo no xxx.app\Contents\Frameworks\Electron Framework.framework\Versions\A\Resources" subdiretório, e foi sinalizado para uso da API privada dele. Portanto, você pode querer verificar se ele foi removido na etapa 1 ._

É isso - agora você pode enviar seu aplicativo para a loja.

alguma estimativa de tempo para o patch oficial?

Você pode seguir o # 20965 sobre o andamento.

Atualmente, como desativar APIs de camada remota pode prejudicar significativamente o desempenho, estamos aguardando as respostas da Apple para ver se é possível desbloquear CAContext e CALayerHost para nós, ou se existe uma maneira melhor de patch para evitar impacto no desempenho.

é possível liberar isso agora e quando a resposta da maçã ou você encontrar uma maneira melhor de corrigir
você faz uma nova atualização?
pode levar algum tempo até que a resposta da maçã

Seria possível lançar como uma versão alpha ou beta antes que a Apple responda de volta?

+1 em uma versão alfa temporária ou para que possamos instalar facilmente com o npm e enviar :) 💯

Obrigado pelas instruções incríveis @netop e pelo trabalho rápido @zcbenz !

Segui as instruções esta manhã, enviei uma construção e foi aprovado esta noite! 👏👏 obrigado novamente.

Obrigado @zcbenz e @netop ! Enviei uma construção hoje cedo e ela foi aprovada!

Usar a versão electron-clean ajudou a remover APIs privadas, mas o aplicativo está muito mais pesado agora. Ao compilá-lo com a versão oficial (7.0.1), o tamanho do aplicativo é de cerca de 60 MB, mas com a limpeza de elétrons, o tamanho aumentou para 300 MB.
O que posso fazer do meu lado para diminuir o tamanho?

@ manish-patwal Verifique a postagem acima:

Como usar a compilação com patch @zcbenz mas (até que uma solução mais limpa esteja disponível)

No arquivo original de @zcbenz alguns itens são incluídos duas vezes, em vez de usar apelidos. Você pode corrigi-los manualmente ou usar o link de download fornecido na etapa 1.

Foi aprovado hoje! Obrigado!

Existe uma variante do Electron 6 dessa correção disponível? Estamos tendo problemas para carregar conteúdo Flash com a versão limpa, consulte https://github.com/electron/electron/issues/20744 @netop @zcbenz

Meu aplicativo acaba de ser aprovado pela apple. Ele está usando o elétron 6.0.7.
Portanto, esse problema está apenas na versão 5.x ou a Apple está fazendo ajustes novamente na estratégia de detecção de API privada?

estou usando o Electron 6 e ainda tenho um problema

A solução alternativa mencionada acima não funciona para mim, estou tendo problemas quando substituo esse arquivo .zip, parece que a soma de verificação não corresponde ?!

Ajuda muito apreciada - precisamos colocar nosso aplicativo na loja: - /

Olá @MarshallOfSound ,

A compilação com patch do

Saudações
Ranjan

@ anh1979 Eu tenho os mesmos problemas com você, e então eu testei em um novo projeto simples está ok, então eu acho que há um problema com a versão do electron-packager, eu executo o comando novamente após atualizar o electron-packager para o mais recente ok.
@netop Muito obrigado pela sua participação.

@zcbenz @netop

Alguma novidade sobre isso?

Estou usando o Elétron 6.xe o construtor de elétrons. Precisaríamos de uma solução "à prova de bala", porque se a Apple rejeitar o aplicativo, a reputação da conta corporativa associada diminuirá, o que não é bom.

Qual é o status atual disso?

Estou usando o elétron-builder 21.2.0 e o elétron 6.1.5 recebendo esta mensagem de rejeição
Seu aplicativo usa ou faz referência às seguintes APIs não públicas:

Uso de aulas particulares:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

"Continuar a usar ou ocultar APIs não públicas em envios futuros deste aplicativo pode resultar no encerramento de sua conta de desenvolvedor da Apple, bem como na remoção de todos os aplicativos associados da App Store."

Li todos os comentários e mensagens, mas não sei como usar o PATCH do @zcbenz no meu projeto. Estou totalmente confuso e preocupado em como resolver isso.

se vcs me ajudem, ficarei muito grato

Eu também entendi isso agora pela primeira vez (nosso aplicativo passou na revisão em setembro).

Diretriz 2.5.1 - Desempenho - Requisitos de software

Seu aplicativo inclui uma versão de um SDK da Electron que viola as diretrizes de revisão da App Store. A versão do Electron SDK que você está usando em seu aplicativo tenta ocultar o uso de APIs privadas. Esta é uma violação da Seção 2.5.1 das Diretrizes de Revisão da App Store.

Uso de classe particular encontrado:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Diretriz 2.5.1: Os aplicativos podem usar apenas APIs públicas.

Próximos passos

Para resolver esse problema, remova o Electron SDK inteiramente de seu aplicativo ou revise seu aplicativo para utilizar uma versão corrigida do Electron SDK.

Aguardando a aprovação do patch: https://github.com/electron/electron/pull/20965 :)

com a compilação do patch, não consigo concluir o _rebuild_ com êxito. Minhas dependências são SQLite3 e ffmpeg.
Abaixo está a saída de registro

CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/census/grpc_context.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/max_age/max_age_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/message_size/message_size_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client_authority_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/plugin_registry/grpc_plugin_registry.o
  LIBTOOL-STATIC Release/libgrpc.a
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/alloc.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/arena.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/atm.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_iphone.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/host_port.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_android.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/mpscq.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/murmur_hash.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_util_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_precise.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tls_pthread.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_msys.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/wrap_memcpy.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/fork.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/basic_timers.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/stap_timers.o
  LIBTOOL-STATIC Release/libgpr.a
  CC(target) Release/obj.target/boringssl/deps/grpc/src/boringssl/err_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bitstr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bool.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_d2i_fp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_dup.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_gentm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_i2d_fp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_mbstr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_object.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_octet.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_print.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_strnid.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_time.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_type.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utctm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utf8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_par.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn_pack.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_string.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_dec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_enc.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_fre.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_new.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_typ.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_utl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/time_support.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/base64/base64.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio_mem.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/connect.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/fd.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/file.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/hexdump.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/pair.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/printf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket_helper.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/bn_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/convert.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/buf/buf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/asn1_compat.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/ber.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbb.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbs.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/chacha/chacha.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/cipher_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/derive_key.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesccm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_null.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc4.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_ssl3.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_tls.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/tls_cbc.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cmac/cmac.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/conf/conf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-fuchsia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-linux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm-linux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-intel.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-ppc64le.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/crypto.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/curve25519/spake25519.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/check.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/params.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/digest_extra/digest_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ec_extra/ec_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdh/ecdh.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/engine/engine.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/err/err.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/digestsign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_ctx.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_dsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/pbkdf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/print.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/scrypt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/sign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ex_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/bcm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/is_fips.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/hkdf/hkdf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/lhash/lhash.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/mem.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj_xref.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_all.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_oth.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pk8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_xaux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/p5_pbev2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_arm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_vec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pool/pool.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/deterministic.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/forkunsafe.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/fuchsia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/rand_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/windows.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rc4/rc4.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_c11.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_lock.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rsa_extra/rsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/stack/stack.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_none.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_pthread.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_win.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_digest.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_sign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_strex.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_verify.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/algorithm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/asn1_gen.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_dir.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_file.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/i2d_pr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/rsa_pss.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_crl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509a.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_att.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_cmp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_d2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_def.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_ext.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_lu.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_obj.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_r2x.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_set.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_trs.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_txt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_v3.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vfy.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vpm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509cset.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509name.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509rset.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509spki.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_algor.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_all.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_attrib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_crl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_exten.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_name.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pubkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_sig.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_spki.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_val.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509a.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_cache.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_map.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_node.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_tree.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akeya.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_alt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bcons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bitst.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_conf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_cpols.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_crld.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_extku.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_genn.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ia5.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ncons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pci.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pku.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pmaps.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_prn.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_purp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_skey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_sxnet.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_utl.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/bio_ssl.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/custom_extensions.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_pkt.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_srtp.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_method.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_record.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handoff.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_client.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_server.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_pkt.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_aead_ctx.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_asn1.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_buffer.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cert.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cipher.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_file.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_key_share.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_privkey.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_session.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_stat.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_transcript.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_versions.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_x509.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_enc.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_client.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_enc.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_server.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_method.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_record.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/third_party/fiat/curve25519.o
  LIBTOOL-STATIC Release/libboringssl.a
  CXX(target) Release/obj.target/grpc_node/ext/byte_buffer.o
  CXX(target) Release/obj.target/grpc_node/ext/call.o
../ext/call.cc:99:53: error: no matching member function for call to 'Get'
    Local<String> current_key(Nan::To<String>(keys->Get(i)).ToLocalChecked());
                                              ~~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../ext/call.cc:663:27: error: no matching member function for call to 'Get'
    if (!op->ParseOp(obj->Get(type), &ops[i])) {
                     ~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
2 errors generated.
make: *** [Release/obj.target/grpc_node/ext/call.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command "/usr/local/bin/node" "/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/.bin/node-gyp" "rebuild" "--target=7.1.1" "--arch=x64" "--dist-url=https://electronjs.org/headers" "--build-from-source" "--module_name=grpc_node" "--module_path=/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc/src/node/extension_binary/electron-v7.1-darwin-x64-unknown" "--host=https://node-precompiled-binaries.grpc.io/" "--remote_path={name}/v1.20.3" "--package_name=electron-v7.1-darwin-x64-unknown.tar.gz"
gyp ERR! cwd /Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc
gyp ERR! node -v v12.12.0
gyp ERR! node-gyp -v v6.0.1
gyp ERR! not ok

Failed with exit code: 1

Error:   CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/avl/avl.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/backoff/backoff.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_args.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack_builder.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_trace.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz_registry.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/connected_channel.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker_registry.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/status_util.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression_internal.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/message_compress.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_gzip.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_identity.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats_data.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/format_request.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/httpcli.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/parser.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/buffer_list.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/call_combiner.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/combiner.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/error.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_epoll1_linux.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_epollex_linux.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_poll_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/exec_ctx.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/executor.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/fork_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/fork_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_fallback.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_host_name_max.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_sysconf.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/grpc_if_nametoindex_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/internal_errqueue.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iocp_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_internal.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/is_epollexclusive_available.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/load_file.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/lockfree_event.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/polling_entity.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resource_quota.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/sockaddr_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_factory_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_mutator.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_common_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_linux.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/time_averaged_stats.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_custom.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_generic.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_heap.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_manager.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_uv.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/udp_server.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/unix_sockets_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/unix_sockets_posix_noop.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_eventfd.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_nospecial.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_pipe.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_reader.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_string.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_writer.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/b64.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/percent_encoding.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_buffer.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_intern.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_string_helpers.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/api_trace.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/byte_buffer.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/byte_buffer_reader.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call_details.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call_log_batch.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_ping.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_stack_type.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/completion_queue.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/completion_queue_factory.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/event_string.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/lame_client.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/metadata_array.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/server.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/validate_metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/version.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/bdp_estimator.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/byte_stream.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/connectivity_state.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/error_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/metadata_batch.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/pid_controller.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/static_metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/status_conversion.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/status_metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/timeout_encoding.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/transport.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/transport_op_string.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/uri/uri_parser.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/trace.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/bin_decoder.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/context_list.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/flow_control.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_data.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_ping.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_rst_stream.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_settings.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_window_update.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_parser.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_table.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/http2_settings.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/huffsyms.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/incoming_metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/parsing.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/stream_lists.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/stream_map.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/varint.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/writing.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/alpn/alpn.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client/http_client_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/http_filters_plugin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/message_compress/message_compress_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/server/http_server_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/httpcli_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/context/security_context.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/alts_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/composite/composite_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/credentials_metadata.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/fake/fake_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/google_default/credentials_generic.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/google_default/google_default_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/iam/iam_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/json_token.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/jwt_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/local/local_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/oauth2/oauth2_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/plugin/plugin_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/ssl/ssl_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/tls/spiffe_credentials.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/alts/alts_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/fake/fake_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/load_system_roots_fallback.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/load_system_roots_linux.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/local/local_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/ssl/ssl_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/ssl_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/tls/spiffe_security_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/client_auth_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/secure_endpoint.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/security_handshaker.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/server_auth_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/target_authority_table.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/tsi_error.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/util/json_util.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init_secure.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/crypt/aes_gcm.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/crypt/gsec.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_counter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_crypter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_frame_protector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/frame_handler.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_client.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_shared_resource.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_tsi_handshaker.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_linux.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_service_api.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_tsi_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/transport_security_common_api.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/altscontext.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/handshaker.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/transport_security_common.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_common.o
  CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_decode.o
  CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_encode.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/transport_security.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/authority.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/backup_poller.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/channel_connectivity.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_channelz.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_factory.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_plugin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/connector.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/global_subchannel_pool.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/health/health_check_client.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/http_connect_handshaker.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/http_proxy.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy_registry.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/local_subchannel_pool.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/parse_address.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/proxy_mapper.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/proxy_mapper_registry.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver_registry.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver_result_parsing.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolving_lb_policy.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/retry_throttle.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/server_address.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/service_config.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/subchannel.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/subchannel_pool_interface.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/deadline/deadline_filter.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/health/health.pb.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/fake_transport_security.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/local_transport_security.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_boringssl.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_cache.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_openssl.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl_transport_security.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/transport_security_grpc.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/chttp2_server.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/inproc/inproc_plugin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/inproc/inproc_transport.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.o
  CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/census/grpc_context.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/max_age/max_age_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/message_size/message_size_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client_authority_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_utils.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/plugin_registry/grpc_plugin_registry.o
  LIBTOOL-STATIC Release/libgrpc.a
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/alloc.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/arena.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/atm.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_iphone.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/host_port.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_android.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_linux.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/mpscq.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/murmur_hash.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_util_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_precise.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tls_pthread.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_msys.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/wrap_memcpy.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/fork.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_posix.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_windows.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/basic_timers.o
  CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/stap_timers.o
  LIBTOOL-STATIC Release/libgpr.a
  CC(target) Release/obj.target/boringssl/deps/grpc/src/boringssl/err_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bitstr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bool.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_d2i_fp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_dup.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_gentm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_i2d_fp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_mbstr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_object.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_octet.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_print.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_strnid.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_time.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_type.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utctm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utf8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_par.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn_pack.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_string.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_dec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_enc.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_fre.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_new.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_typ.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_utl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/time_support.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/base64/base64.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio_mem.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/connect.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/fd.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/file.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/hexdump.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/pair.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/printf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket_helper.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/bn_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/convert.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/buf/buf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/asn1_compat.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/ber.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbb.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbs.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/chacha/chacha.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/cipher_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/derive_key.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesccm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_null.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc4.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_ssl3.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_tls.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/tls_cbc.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cmac/cmac.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/conf/conf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-fuchsia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-linux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm-linux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-intel.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-ppc64le.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/crypto.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/curve25519/spake25519.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/check.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/params.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/digest_extra/digest_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ec_extra/ec_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdh/ecdh.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/engine/engine.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/err/err.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/digestsign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_ctx.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_dsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/pbkdf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/print.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/scrypt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/sign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ex_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/bcm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/is_fips.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/hkdf/hkdf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/lhash/lhash.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/mem.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj_xref.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_all.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_oth.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pk8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_xaux.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/p5_pbev2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_arm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_vec.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pool/pool.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/deterministic.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/forkunsafe.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/fuchsia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/rand_extra.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/windows.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rc4/rc4.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_c11.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_lock.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rsa_extra/rsa_asn1.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/stack/stack.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_none.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_pthread.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_win.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_digest.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_sign.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_strex.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_verify.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/algorithm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/asn1_gen.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_dir.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_file.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/i2d_pr.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/rsa_pss.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_crl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509a.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_att.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_cmp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_d2.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_def.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_ext.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_lu.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_obj.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_r2x.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_set.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_trs.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_txt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_v3.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vfy.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vpm.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509cset.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509name.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509rset.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509spki.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_algor.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_all.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_attrib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_crl.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_exten.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_name.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pubkey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_req.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_sig.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_spki.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_val.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509a.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_cache.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_data.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_map.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_node.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_tree.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akeya.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_alt.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bcons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bitst.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_conf.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_cpols.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_crld.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_enum.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_extku.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_genn.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ia5.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_info.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_int.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_lib.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ncons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pci.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcia.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcons.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pku.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pmaps.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_prn.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_purp.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_skey.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_sxnet.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_utl.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/bio_ssl.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/custom_extensions.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_pkt.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_srtp.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_method.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_record.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handoff.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_client.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_server.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_pkt.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_aead_ctx.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_asn1.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_buffer.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cert.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cipher.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_file.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_key_share.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_privkey.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_session.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_stat.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_transcript.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_versions.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_x509.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_enc.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_lib.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_both.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_client.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_enc.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_server.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_method.o
  CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_record.o
  CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/third_party/fiat/curve25519.o
  LIBTOOL-STATIC Release/libboringssl.a
  CXX(target) Release/obj.target/grpc_node/ext/byte_buffer.o
  CXX(target) Release/obj.target/grpc_node/ext/call.o
../ext/call.cc:99:53: error: no matching member function for call to 'Get'
    Local<String> current_key(Nan::To<String>(keys->Get(i)).ToLocalChecked());
                                              ~~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../ext/call.cc:663:27: error: no matching member function for call to 'Get'
    if (!op->ParseOp(obj->Get(type), &ops[i])) {
                     ~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
2 errors generated.
make: *** [Release/obj.target/grpc_node/ext/call.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command "/usr/local/bin/node" "/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/.bin/node-gyp" "rebuild" "--target=7.1.1" "--arch=x64" "--dist-url=https://electronjs.org/headers" "--build-from-source" "--module_name=grpc_node" "--module_path=/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc/src/node/extension_binary/electron-v7.1-darwin-x64-unknown" "--host=https://node-precompiled-binaries.grpc.io/" "--remote_path={name}/v1.20.3" "--package_name=electron-v7.1-darwin-x64-unknown.tar.gz"
gyp ERR! cwd /Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc
gyp ERR! node -v v12.12.0
gyp ERR! node-gyp -v v6.0.1
gyp ERR! not ok

Failed with exit code: 1
    at SafeSubscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/spawn-rx/lib/src/index.js:267:84)
    at SafeSubscriber.__tryOrUnsub (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:205:16)
    at SafeSubscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:156:26)
    at Subscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:92:26)
    at Subscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:72:18)
    at MapSubscriber.Subscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:92:26)
    at MapSubscriber.Subscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:72:18)
    at SafeSubscriber._next (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/spawn-rx/lib/src/index.js:242:65)
    at SafeSubscriber.__tryOrUnsub (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:205:16)
    at SafeSubscriber.next (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:143:22)
npm ERR! code ELIFECYCLE
npm ERR! errno 255
npm ERR! [email protected] rebuild: `cross-env CFLAGS=-Wno-error CXXFLAGS=-Wno-error electron-rebuild -f -w sqlite3,ffmpeg`
npm ERR! Exit status 255
npm ERR!
npm ERR! Failed at the [email protected] rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/ritikrishu/.npm/_logs/2019-12-03T09_41_07_965Z-debug.log

Por favor me corrija se eu estiver errado.

Podemos agora apenas substituir a versão eletrônica em package.json por esta:

"electron": "github:electron/electron#938cc461e794a5771fccc843fd8ce8690e0501bb"
obter a versão corrigida?

Ou talvez este:

"electron": "https://github.com/electron/electron#pull/20965/head"

@steffanhalv
Eu acho que se você construir assim, você pode incluir mais libs que não são permitidas no MAS
se você gostar disso, certifique-se de escanear sua compilação antes de enviar e também procure outras bibliotecas indesejadas, consulte o comentário https://github.com/electron/electron/issues/20027#issuecomment -551067242

@zcbenz

Alguma atualização? Qual versão eletrônica devo usar para garantir a aprovação da Apple?
Parece que até mesmo aplicativos com elétron 6.1.5 são rejeitados.

Alguém poderia me dizer exatamente qual versão usar? Ou usar a construção personalizada (conforme descrito acima) é a única maneira por enquanto?

Desde já, obrigado!

@gtamas A construção customizada é a única maneira de contornar agora, até que a correção seja aprovada (como eu sei).

@ravijethvaaphp leia # 20027 (comentário)

Existe uma versão para baixar para o elétron 6?
porque algum plugin não suporta o Electron 7 In My Project
qualquer um tem um link como o comentário acima, ou seja, https://github.com/electron/electron/issues/20027#issuecomment -551913031

A falta de resposta da equipe Electron em relação a este problema generalizado está nos fazendo reconsiderar seriamente o uso do Electron para nossos aplicativos de plataforma.

(Não sou um committer neste projeto) Você viu as alterações / notas de lançamento da v8? Eu fiz.

Mais importante, a filosofia do código aberto é: seja a mudança que você deseja ver, abra o capô. Linus diria: DIY. Envie um PR para documentos, fonte, etc.

@cekvenich o que muda no v8?
v8 ainda tem apis privadas

Não recebemos uma solução da Apple até agora, então decidimos mesclar apenas a correção para 5.xe 6.x por enquanto.

Esta é uma medida temporária para permitir que as pessoas façam lançamentos na Mac App Store, no entanto, ela produz regressões de desempenho significativas e estamos buscando uma resolução com a Apple para versões futuras do Electron que não comprometa o desempenho dos aplicativos Electron.

@zcbenz Obrigado por uma atualização.

As regressões de desempenho afetarão os aplicativos que já desabilitam a aceleração de hardware (com app.disableHardwareAcceleration Electron API)?

@zcbenz

Ótimas notícias, obrigado!

portanto, decidimos mesclar apenas a correção para 5.xe 6.x por enquanto.

Por que não para 7.x?

As regressões de desempenho afetarão os aplicativos que já desabilitam a aceleração de hardware (com app.disableHardwareAcceleration Electron API)?

Não há regressão de desempenho para aplicativos que desabilita a aceleração de hardware.

Por que não para 7.x?

Porque esta não é uma solução real, e a equipe decidiu não tê-la em nosso estábulo mais recente, a menos que não haja outra opção.

A Apple vai acabar com aplicativos baseados na web como o Electron, eventualmente?

Não recebemos uma solução da Apple até agora, então decidimos mesclar apenas a correção para 5.xe 6.x por enquanto.

Esta é uma medida temporária para permitir que as pessoas façam lançamentos na Mac App Store, no entanto, ela produz regressões de desempenho significativas e estamos buscando uma resolução com a Apple para versões futuras do Electron que não comprometa o desempenho dos aplicativos Electron.

@zcbenz
Quando a correção será publicada no npm e afetará o desempenho de compilação não mas

A solução alternativa mencionada acima não funciona para mim, estou tendo problemas quando substituo esse arquivo .zip, parece que a soma de verificação não corresponde ?!

Ajuda muito apreciada - precisamos colocar nosso aplicativo na loja: - /

Ei @ anh1979 , você conseguiu superar o problema de soma de verificação. Também estou recebendo o mesmo erro do electron-packager / cli:

Generated checksum for "electron-v7.0.1-mas-x64.zip" did not match expected checksum.


SOLUÇÃO:
Eu passo a seguinte sinalização para electron-packager/cli.js

--download.disableChecksumSafetyCheck = true

https://github.com/electron/get/pull/68

@jmcrthrs : Sim, tive que atualizar o electron packager para a versão mais recente, tentei novamente e consegui continuar. Mas eu encontrei outro problema, algo estava errado com os direitos.

Isso significa que a versão 5/6 pode ser aprovada pela Mac App Store?

Conseguiu que a Apple aprovasse nosso aplicativo com 6.1.7

Também obtive uma aprovação da Apple depois de atualizar para o Electron v5.0.13.

@mytran @ jarek-foksa Então seus aplicativos foram aprovados apesar de terem APIs privadas? Você não precisou usar o trabalho detalhado aqui: https://github.com/electron/electron/issues/20027#issuecomment -551913031

@jmcrthrs As versões 5.0.13 e 6.1.7 foram lançadas recentemente e já incluem os patches do MAS. Não há soluções alternativas ou etapas extras necessárias.

@ jarek-foksa @zcbenz

Ótimas notícias, obrigado! Portanto, a atualização para o 6.1.7 elimina o risco de rejeição da Apple completamente, certo? Quer dizer, este é um lançamento oficial e tudo mais.

@zcbenz mencionou que isso não é possível com o Electron 7, porque "isso não é uma solução real". É por isso que estou um pouco confuso. Portanto, é seguro usar isso ou devemos esperar pela "correção real"? Isso seria lançado em breve?

@gtamas Sim, agora publiquei com sucesso dois aplicativos diferentes usando Electron 5.0.13 na Mac App Store. O processo de envio foi tranquilo, não recebi nenhuma reclamação da Apple. Elétron 6.1.7 também deve estar bem, pois tem os mesmos patches.

Até agora não notei nenhuma regressão significativa de desempenho, embora um dos meus aplicativos seja um editor SVG, que trata da manipulação de objetos gráficos na tela.

@ jarek-foksa Você pode não notar coisas como quedas de FPS, mas o patch resultante aciona um caminho de código com maior consumo de recursos que potencialmente consumirá mais energia (drene sua bateria mais rápido)

@MarshallOfSound, eu me pergunto, é algo perceptível do lado da guia de desempenho do Chrome, ou mais tarde no pipeline, fora do escopo

Você provavelmente não será capaz de vê-lo nas próprias ferramentas de desempenho do Chromes.

Usando o build personalizado de @zcbenz, meu aplicativo

Então, qual é a solução atual para o Electron 7 +? Esperando por atualizações? Downgrade para 5,6?

@gtamas Sim, agora publiquei com sucesso dois aplicativos diferentes usando Electron 5.0.13 na Mac App Store. O processo de envio foi tranquilo, não recebi nenhuma reclamação da Apple. Elétron 6.1.7 também deve estar bem, pois tem os mesmos patches.

Até agora não notei nenhuma regressão significativa de desempenho, embora um dos meus aplicativos seja um editor SVG, que trata da manipulação de objetos gráficos na tela.

Poderíamos saber qual versão do construtor de elétrons você estava usando? Foi necessária alguma modificação para fazê-lo funcionar?

@msavin Eu estava usando a versão 21.2.0 do electron-builder, não me lembro de ter feito nenhuma modificação.

Alguma notícia aqui?
ou ainda é "elétron": "6.1.7", aquele a ser usado?

@MarshallOfSound @zcbenz

A Apple ainda está rejeitando aplicativos que usam compilações oficiais do Electron 7 e 8 MAS devido ao uso de CAContext e CALayerHost .

Não entendo o raciocínio por trás da decisão de não corrigir os lançamentos mais recentes. Uma construção MAS com baixo desempenho de bateria é sempre melhor do que uma construção MAS com bom desempenho de bateria que é basicamente inútil porque não pode ser publicada na loja de aplicativos.

Acho que a suposição inicial era que a Apple forneceria uma solução em breve, colocando na lista de permissões essas duas APIs, mas depois de 3 meses, acho que é seguro presumir que eles não estão dispostos a fazer isso.

Além disso, essas novas versões do Electron apresentam correções para alguns bugs críticos (como impressão interrompida ). No momento, estou usando uma versão corrigida do Electron 5.x e até agora recebi várias reclamações sobre a impressão interrompida, mas nenhum dos meus usuários se queixou do uso da bateria.

Eu também espero que o Electron 8 possa ser corrigido. Ele tem um novo recurso de verificação ortográfica que resolve um grande problema no Electron mais antigo. E eu acho que se alguma coisa mudar no futuro, esse patch pode ser revertido para que não seja permanente.

Estou recebendo os seguintes erros da Apple com Electron 6.1.7:

Diretriz 2.5.1 - Desempenho - Requisitos de software

Seu aplicativo inclui uma versão de um SDK da Electron que viola as diretrizes de revisão da App Store. A versão do Electron SDK que você está usando em seu aplicativo tenta ocultar o uso de APIs privadas. Esta é uma violação da Seção 2.5.1 das Diretrizes de Revisão da App Store.

e

Diretriz 2.5.1 - Desempenho

Seu aplicativo vincula-se às seguintes estruturas não públicas:

_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary

tente isso
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2169#issuecomment -478323276

por favor, deixe-nos saber se esse é o problema

Este é outro grupo de listas negras de API. Parece que a Apple decidiu eliminar os aplicativos de elétrons. 😱

Estou recebendo os seguintes erros da Apple com Electron 6.1.7:

Diretriz 2.5.1 - Desempenho - Requisitos de software

Seu aplicativo inclui uma versão de um SDK da Electron que viola as diretrizes de revisão da App Store. A versão do Electron SDK que você está usando em seu aplicativo tenta ocultar o uso de APIs privadas. Esta é uma violação da Seção 2.5.1 das Diretrizes de Revisão da App Store.

e

Diretriz 2.5.1 - Desempenho

Seu aplicativo vincula-se às seguintes estruturas não públicas:
_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary

@gaodeng
veja o link que postei acima.
ele enviou uma compilação suja com dmg e obteve o mesmo 2.5.1
olha a data.

Espero que seja apenas um erro de compilação do buu700

Essas APIs são todas as APIs que já corrigimos, elas não usaram a construção mas corretamente. É um erro do usuário, não mais APIs que temos que corrigir

Obrigado pela resposta rápida @JCBsystem. Você pode esclarecer o que quer dizer com "uma construção suja com dmg"? Em qualquer caso, irei deletar ~/Library/Caches/electron acordo com aquela postagem e tentar novamente.

Não tenho certeza do que você está sugerindo de erro do usuário aqui @MarshallOfSound. Existe outra etapa esperada além de executar o mas build e enviar o arquivo pkg gerado?

@ buu700 Estou dizendo que você não usou a construção mas . Qualquer ferramenta que você esteja usando não está usando a construção mas do Electron, pois a lista de símbolos é basicamente uma lição de história em todos os símbolos que removemos no passado.

Ah, obrigado, isso pode ser um problema cordova-elétron então.

@JCBsystem @MarshallOfSound Foi-me dito por @erisu em https://github.com/apache/cordova-electron/issues/140 para compartilhar o arquivo de configuração do construtor de elétrons gerado de platforms/electron/build/builder-effective-config.yaml (copiado abaixo). Isso é útil?

directories:
  output: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build
  buildResources: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build-res
  app: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/www
appId: com.cyph.desktop
productName: Cyph
electronVersion: 6.1.7
electronDownload:
  version: 6.1.7
mac:
  target:
    - target: dmg
      arch:
        - x64
    - target: mas
      arch:
        - x64
  icon: installer.png
  type: distribution
mas:
  entitlements: macos.parent.plist
  entitlementsInherit: macos.child.plist
  provisioningProfile: /Users/buu700/.cyph/nativereleasesigning/apple/macOS_Distribution.provisionprofile

@ buu700
tente remover

  • alvo: dmg
    arco:
    - x64

Tudo bem, acabei de enviar uma nova construção para a App Store (configuração regenerada abaixo). Dedos cruzados!

directories:
  output: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build
  buildResources: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build-res
  app: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/www
appId: com.cyph.desktop
productName: Cyph
electronVersion: 6.1.7
electronDownload:
  version: 6.1.7
mac:
  target:
    - target: mas
      arch:
        - x64
  icon: installer.png
  type: distribution
mas:
  entitlements: macos.parent.plist
  entitlementsInherit: macos.child.plist
  provisioningProfile: /Users/buu700/.cyph/nativereleasesigning/apple/macOS_Distribution.provisionprofile

Sem dados.

Diretriz 2.5.1 - Desempenho

Seu aplicativo vincula-se às seguintes estruturas não públicas:

AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __kCFSystemVersionProductNameKey, __NSAppendToKillRing, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __CFCopySystemVersionDictionary, __NSSetKillRingToYankedState

(A lista de estruturas não públicas é ligeiramente diferente do que era 6 dias atrás, se isso importa.)

@ buu700

você pode postar um link para sua construção?

Claro, você pode baixá-lo aqui .

@ buu700

você tem um "app.asar.unpacked" incluído em sua pasta de recursos.
Há um electron.app nele que dispara os avisos de API

remova "app.asar.unpacked" e tente novamente
antes de enviar dubble, verifique seu aplicativo
abra o aplicativo e navegue até a pasta de recursos, veja a foto.

veja a foto aqui
https://imgur.com/a/dYWxq5d

Obrigado @JCBsystem! Vou tentar remover isso hoje; parece que provavelmente é um problema de Cordova.

@JCBsystem @MarshallOfSound @erisu

Boas notícias! Minha atualização acabou de ser aceita!

Parece que app.asar.unpacked é gerado pela cadeia de ferramentas de compilação Electron. Não sei o ponto em que é gerado, mas acabei tendo que corrigir app-builder-lib como uma solução temporária:

Screen Shot 2020-02-19 at 9 42 04 PM

O que estou confuso é como ninguém mais parece ter se deparado com esse problema, visto que, pelo que posso dizer, é um bug eletrônico do caminho certo. Existe algo que Cordova (ou meu aplicativo) está fazendo de forma diferente que pode fazer com que app.asar.unpacked seja criado inesperadamente (ou preenchido inesperadamente com o módulo electron )?

app.asar.unpacked tem nenhuma relação com este erro, excluí-lo tornará partes do seu aplicativo inutilizáveis. Seu problema foi devido ao uso da compilação darwin / mas errada, talvez alguma outra mudança que você fez em seus scripts de compilação corrigiu o problema subjacente, mas excluir essa pasta descompactada terá impacto positivo 0 e quebrará a maioria dos aplicativos

mas há 2 aplicativos Electron em seu aplicativo
um no lugar normal
e um no app.asar.unpacked.

isso não está certo

@JCBsystem Desculpe se não fui claro, estou dizendo que o problema não está relacionado ao # 20027 (o problema atual em que estamos). O sistema de compilação deles está empacotando incorretamente o aplicativo usando ou incluindo acidentalmente a versão não mas do Electron e ter essa informação / solução neste tópico é um contexto pobre para quem está lendo este tópico no futuro. Eu estava apenas deixando claro que, como o problema deles é completamente diferente, qualquer solução que eles façam referência não resolverá esse problema.

app.asar.unpacked tem nenhuma relação com este erro, excluí-lo tornará partes do seu aplicativo inutilizáveis.

Ah, obrigado, é bom saber. Excluir apenas app.asar.unpacked/node_modules/electron/dist/Electron.app causaria problemas?

Seu problema era devido ao uso da compilação darwin / mas errada

Você pode ser mais específico? Você já disse isso várias vezes e não entendo que outro tipo de build mas você pretende sugerir que estou usando. A configuração de compilação não parece correta?

talvez alguma outra alteração que você fez em seus scripts de construção corrigiu o problema subjacente, mas excluir essa pasta descompactada terá 0 impacto positivo e quebrará a maioria dos aplicativos

Não tenho certeza do que dizer, literalmente não há outras mudanças. Ele passa com o app.asar.unpacked removido e falha caso contrário.

Ah, obrigado, é bom saber. Excluir apenas app.asar.unpacked / node_modules / electron / dist / Electron.app causaria problemas?

Provavelmente não se você deletar _apenas_ aquele aplicativo, mas você deve descobrir por que ele está sendo colocado lá em vez de hackear ao redor dele.

Você pode ser mais específico? Você já disse isso várias vezes e não entendo que outro tipo de build mas você pretende sugerir que estou usando. A configuração de compilação não parece correta?

A configuração da compilação parece correta, mas como eu disse either using or accidentally including the non-mas version of Electron . Neste caso, você estava "incluindo" a versão não mas do Electron por acidente nessa pasta, embora sua configuração de compilação visasse mas por padrão, o pacote electron npm usará o darwin normal app.asar.unpacked .

Você deve descobrir por que aquele pacote electron npm foi incluído em app.asar.unpacked mas que
deve ser resolvido neste tópico de discussão, saímos do tópico aqui 😄

Ok, obrigado por esclarecer isso! Portanto, alguns dos módulos de nó nessa pasta são definitivamente necessários em tempo de execução, mas apenas electron normalmente não seriam?

Nesse caso, acho que restringimos o que Cordova precisa corrigir (bem como uma melhoria para minha solução alternativa de hacky). Vou relatar isso na discussão sobre cordova-elétron.

Desculpe se isso foi respondido em outro lugar, mas:

As versões 7.x, 8.xe 9.x do Electron também são usuários problemáticos de APIs privadas? Ou houve atualizações nas versões mais recentes do Electron para resolver esse problema?

Pergunto porque estou tentando descobrir se é mais trabalhoso desfazer as alterações de API que fiz e reverter para o Electron 5.x, ou se posso apenas obter uma versão posterior do Electron que também foi corrigida.

@briandk 8.0.2 e v9.0.0-beta.3 lançados ontem e as notas de lançamento mencionam a correção, então essas versões devem ser boas para a app store. Não acredito que uma versão v7 tenha chegado com a correção ainda, mas presumo que a próxima (então qualquer coisa> 7.1.13 ) terá, já que o PR foi transferido para o branch v7.

Acabei de lançar meu aplicativo losslesscut com electron 8.2.0 e posso confirmar que não recebi nenhum problema privado de API durante a revisão.

Pessoal, vocês sabem, existe uma maneira de usar o módulo autoUpdater no MAS build? Talvez esta questão esteja relacionada à discussão atual.

@kalachevmax Mac App Store deve lidar com as atualizações por conta própria. Sem a atualização automática do aplicativo Electron. Dito isso, pode haver uma maneira de fazer as duas coisas.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

cniaulin picture cniaulin  ·  3Comentários

reggi picture reggi  ·  3Comentários

wsangtoki picture wsangtoki  ·  3Comentários

dangan-ronpa picture dangan-ronpa  ·  3Comentários

tenry92 picture tenry92  ·  3Comentários