Electron: Rejet de l'API privée du Mac App Store: Electron 5.0.10

Créé le 29 août 2019  ·  144Commentaires  ·  Source: electron/electron

Détails du problème

  • Version électronique: 5.0.10

E-mail de refus

ITMS-90338: Utilisation d'API non publique - L'application contient ou hérite de classes non publiques dans Contents / Frameworks / Electron Framework.framework / Versions / A / Electron Framework: CAContext, CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileTypeMappings. Si les noms de méthode dans votre code source correspondent aux API Apple privées répertoriées ci-dessus, la modification de vos noms de méthode aidera à éviter que cette application ne soit signalée lors de futures soumissions. En outre, notez qu'une ou plusieurs des API ci-dessus peuvent se trouver dans une bibliothèque statique incluse avec votre application. Si tel est le cas, ils doivent être supprimés. Pour plus d'informations, consultez les informations du support technique à l' adresse http://developer.apple.com/support/technical/

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

Commentaire le plus utile

Liste des API privées détectées:

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

Veuillez ne commenter ce problème que si votre e-mail de refus contient des API qui ne figurent pas dans la liste ci-dessus. Si vous venez de commenter +1 votre commentaire sera supprimé. Si vous rencontrez également ce rejet, veuillez réagir à ce problème avec 👍 pour l'indiquer.

Tous les 144 commentaires

Je rétrograde Electron à 5.0.9 et je reçois toujours un e-mail de rejet.

J'ai eu ce rejet ce matin pour Electron 5.0.4, et aussi pour 5.0.10. Je pense que quelque chose a changé du côté d'Apple.

Big show stopper pour moi. J'ai besoin d'une solution urgente. veuillez aider.

Liste des API privées détectées:

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

Veuillez ne commenter ce problème que si votre e-mail de refus contient des API qui ne figurent pas dans la liste ci-dessus. Si vous venez de commenter +1 votre commentaire sera supprimé. Si vous rencontrez également ce rejet, veuillez réagir à ce problème avec 👍 pour l'indiquer.

Les relations avec les développeurs ont répondu et ont déclaré qu'elles pensaient que le problème était en jeu de leur côté et qu'elles l'examineraient. J'ai vérifié ce soir et mes versions précédemment rejetées sont maintenant disponibles dans App Store Connect.

Je viens de vérifier aussi et ma version précédemment rejetée (Electron 4.2.9) est également disponible en magasin.

Merci @gaodeng , @mytran et @ ogi1982 pour ces nouvelles informations. On dirait qu'Apple a eu quelques contacts et a corrigé son système ou ajouté temporairement le cadre à la liste blanche. J'attends toujours de savoir ce qui s'est passé exactement.

Je vais laisser cela ouvert au moins jusqu'à la semaine prochaine où j'espère que nous aurons plus d'informations

Je peux maintenant télécharger ma version avec Electron 5.0.10 dans le magasin également. Je partirai probablement à @MarshallOfSound pour fermer ce ticket :)

Mon application utilisant Electron 4.2.12 vient d'être rejetée à cause des API suivantes:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Electron 5.0.11

Votre application utilise ou fait référence aux API non publiques suivantes:

CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

électron: 6.0.10

Directive 2.5.1 - Performance - Exigences logicielles
Votre application utilise ou fait référence aux API non publiques suivantes:

CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

électron 3.0.2

Votre application d'application est liée aux framework (s) non publics suivants:

CAContexte
CALayerHost
NSURLFileTypeMappings

@MarshallOfSound pouvons-nous faire quelque chose pour vous aider?
je n'ai pas les compétences pour résoudre ce problème moi-même

@zcbenz semble que vous avez déjà fait des correctifs, pouvez-vous en faire un nouveau?

désolé pour le stress mais j'ai une mise à jour importante de mon application qui doit être déployée

Essayez de faire appel et déclarez que vous utilisez Electron et que ces API sont internes à Electron:
https://developer.apple.com/contact/app-store/?topic=appeal

Mise à jour vers le dernier électron v7.0.0 et rejet de nouveau

@mytran
ne pensez pas que faire un appel aidera peut-être plus d'une fois
mieux vaut essayer de résoudre ce problème

Je vois que c'est un fichier de correctif dans la base de code
patches \ chromiummas_no_private_api.patch

si nous pouvons en quelque sorte y ajouter les API
Je n'ai pas encore compris comment faire

et pour ceux qui savent comment faire cela.
S'ils n'ont pas le temps de régler le problème, nous pouvons peut-être les parrainer?
le temps, c'est de l'argent :)

Si tous ceux qui en ont besoin ont fait un don de $
Je suppose que cela va s'accumuler et peut-être accélérer ce correctif

rejeté aujourd'hui électron 6.0.12 et aussi avec 7.0.0

Votre application d'application est liée aux framework (s) non publics suivants:

CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

ça marche avec Electron 5?

J'ai informé Apple de mon application utilisant electron etc.

"Bonjour,

Merci de fournir ces informations.

Concernant la version 2.5.1, votre application utilise ou référence les API non publiques suivantes. Si vous n'avez pas accès à votre fichier binaire ou si vous ne savez pas comment supprimer les API en question, veuillez contacter votre fournisseur de services pour obtenir une assistance technique. "

Version mas 3.0.0-beta.5 rejetée également pour les API privées:

CAContexte
CALayerHost
NSURLFileTypeMappings

Il y a à peine une semaine, nous venons de passer avec succès l'audit d'Apple en utilisant la même version mas. Je me demande si l'ancien fichier electron-v3.0.0-beta.5-mas-x64.zip a été reconstruit côté serveur de téléchargement ou si le fichier zip n'a jamais été modifié pendant qu'Apple modifie sa stratégie d'API privée ou les deux? tous les indices vous les gars, car c'est vraiment frustrant et ennuyeux.

Apple change sa stratégie d'API privée
je fais des mises à jour hebdomadaires depuis le mois dernier sans problème

nous devons réparer ça
malheureusement je n'ai pas les compétences pour le réparer moi-même
J'ai creusé et on dirait que ces fichiers ont des appels API privés

https://chromium.googlesource.com/chromium/src/+/HEAD/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
https://chromium.googlesource.com/chromium/src/+/master/net/base/platform_mime_util_mac.mm
https://chromium.googlesource.com/chromium/src.git/+/72.0.3626.80/content/browser/ns_view_bridge_factory_impl.mm
https://chromium.googlesource.com/chromium/src.git/+/62.0.3178.1/content/browser/compositor/gpu_output_surface_mac.mm
https://chromium.googlesource.com/experimental/chromium/src/+/lkgr/ui/base/cocoa/remote_layer_api.h
https://chromium.googlesource.com/experimental/chromium/src/+/lkgr/ui/base/cocoa/remote_layer_api.h

et voici comment créer un fichier de correctif :)
https://www.youtube.com/watch?v=QtXj9tt-RUE

il ne nous reste plus qu'à configurer l'environnement de développement et
essayez de supprimer / commenter les apis

ça semble facile ..........

J'obtiens également le même problème avec la version 6.0.11 lorsque je tente de créer hyperspacedev / hyperspace :

Votre application comprend une version d'un SDK d'Electron qui enfreint les directives d'examen de l'App Store. La version du SDK Electron que vous utilisez dans votre application tente de masquer l'utilisation des API privées. Il s'agit d'une violation de la section 2.5.1 des directives d'examen de l'App Store.

Utilisation de la classe privée trouvée:
CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Je ne sais pas si cela est lié, mais je pense que cela provoque également un crash sur l'application avec une erreur "Opération non autorisée".

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 pouvez-vous nous aider avec ça?
je vois que tu as déjà fait des choses similaires

@JCBsystem et tout. Je ferais très attention de changer quoi que ce soit juste pour passer par Apple. Leur dernier message disait:

_ "Le fait de continuer à utiliser ou à dissimuler des API non publiques dans les futures soumissions de cette application peut entraîner la résiliation de votre compte de développeur Apple, ainsi que la suppression de toutes les applications associées de l'App Store." _

Je ne veux voir aucune de mes autres applications compromise, alors j'espère un correctif officiel dans le futur (si possible du tout).

Peut-être que l'un des modérateurs / mainteneurs peut escalader cela (et le renommer car il affecte aussi Electron 6 et Electron 7, essayé avec 7.0.1 aussi).

J'ai juste commencé à avoir le même problème. Notre application a été initialement acceptée il y a environ un mois, mais la tentative de soumission d'une mise à jour a échoué.

Je ne suis pas sûr de la version exacte d'Electron, mais c'est ce dont dépend la dernière cordova-electron .

(Merci également @gurugeek d'avoir attiré l'attention sur cela sur HN.)

Il semble qu'Apple ait mis plus d'API privées sur sa liste noire. Et pour clarifier, toutes ces API sont utilisées par Chromium.

@ buu700 vous êtes les bienvenus! Je pense que c'est un gros problème pour tous ceux qui utilisent l'électron directement ou indirectement. J'espère donc qu'il y aura bientôt une solution (officielle).

Oui, ce serait ridicule si Electron était effectivement obsolète sur macOS de manière aussi décontractée sans avertissement. Espérons qu'il existe un moyen réaliste de résoudre ce problème dans Electron et / ou Chrome, ou Apple est prêt à être flexible avec cela.

Les API fileport_makefd et fileport_makeport sont utilisées par mojo (la bibliothèque IPC de Chromium) et semblent impossibles à supprimer, mais elles ne semblent pas apparaître sur les rapports récents, il est donc probablement bien de les conserver pour le moment.

Les API CAContext et CALayerHost sont utilisées par Chromium depuis au moins 5 ans, il n'y a que quelques endroits qui les utilisent mais elles sont dans le code graphique principal, il devrait être possible de les supprimer mais nous devons d'abord déterminer ce qu'ils font réellement.

Les autres API NS devraient être faciles à supprimer:
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Slack a été mis à jour récemment, comment ont-ils passé l'examen, est-ce que quelqu'un le sait?
Screen Shot 2019-11-04 at 9 24 36 AM

La mise à jour @gurugeek remonte à deux jours, alors je suppose que Slack a à peine limite ?

Mozilla a récemment publié un bon article expliquant pourquoi ils ont commencé à utiliser l'API CALayer non documentée dans Firefox 69. Le TLDR est que ces API privées leur ont permis d'obtenir jusqu'à 3 fois une meilleure utilisation de la batterie dans Firefox. L'article mentionne également que Chrome utilise ces API Core Animation.

Ce problème ne m'affecte pas directement et je ne le comprends pas. Mais je pensais que je partagerais l'article ci-dessus au cas où cela vous aiderait à résoudre la cause du problème.

Quelqu'un serait-il intéressé à valider le binaire Electron pour moi? Mon abonnement Apple Developer est arrivé à expiration et je ne veux pas prendre la peine de l'acheter à nouveau 😃.

Le binaire est basé sur la version 7.0.1 Release avec des symboles de débogage:
https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL

Les changements peuvent être trouvés dans la succursale mas-patch-remote-layer-7-0-x . Actuellement, j'ai désactivé tous les appels signalés à l'exception de fileport_makefd et fileport_makeport , il est donc possible que le binaire soit à nouveau rejeté.

@zcbenz
Bon travail!
essaiera de télécharger dans un jour ou deux
besoin de finir de changer moi-même d'abord :)

Merci encore!

a fait un scan avec otool -ov comme Apple sugets
avant qu'il y ait
CAContext 1 hit
CALayerHost 1 hit
NSAccessibilityRemoteUIElement 3 hit
NSNextStepFrame 2 hit
NSThemeFrame 2 hit
NSURLFileTypeMappings 1 appel

puis nouveau mas-patch-remote-layer-7-0-x build hade 0 hits :)
Cela semble bon

avant
fileport_makeport 0 accès
fileport_makefd 0 accès
après
fileport_makeport 0 hit
fileport_makefd 0 hit

Utiliser des chaînes L'autre outil Apple a suggéré que j'ai obtenu un coup
pour CAContext
'Frame n'avait ni CAContext valide ni IOSurface valide.'
il ressemble à un msg d'exception ou similaire
Je ne sais pas à quel point Apple est difficile

avant
fileport_makeport 3 résultats
fileport_makefd 2 résultats
après
fileport_makeport 1 hit
fileport_makefd 0 hit

Mon application vient d'être rejetée en raison d'appels API privés (Electron v. 4.0.4). Apple a suggéré les résolutions suivantes:

"Pour résoudre ce problème, veuillez soit supprimer le SDK Electron entièrement de votre application, soit réviser votre application pour utiliser la version 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7.16 du SDK Electron. Une fois vous avez effectué l'une de ces modifications, soumettez à nouveau votre fichier binaire pour examen. "

Rétrogradé à 3.0.0-beta.7. Voyons ce qui se passe...

"Pour résoudre ce problème, veuillez soit supprimer le SDK Electron entièrement de votre application (j'ai été choqué de lire ceci), soit réviser votre application pour utiliser la version 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7. 16 du SDK Electron. Une fois que vous avez effectué l'une de ces modifications, soumettez à nouveau votre binaire pour examen. "

Cela ressemble étrangement à une liste blanche ciblée de versions d'Electron. Laissez-moi creuser et voir ce que je peux trouver.

@ivandroid était le message d'aujourd'hui? Pouvez-vous également publier la liste des appels d'API qui ont été signalés par Apple? Peut-être qu'Apple a décidé d'être plus explicite et vous a donné au moins quelques conseils. Hier, c'était un message beaucoup plus dur. @MarshallOfSound merci d'avoir examiné cela. Il serait bon de savoir si 3.0.0.-beta7 répond à ces exigences.

@ivandroid était le message d'aujourd'hui? Pouvez-vous également publier la liste des appels d'API qui ont été signalés par Apple? Peut-être qu'Apple a décidé d'être plus explicite et vous a donné au moins quelques conseils. Hier, c'était un message beaucoup plus dur. @MarshallOfSound merci d'avoir examiné cela. Il serait bon de savoir si 3.0.0.-beta7 répond à ces exigences.

Oui, j'ai le message de rejet aujourd'hui.

CAContexte
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Même réponse en appel

_Votre application comprend une version d'un SDK d'Electron qui enfreint les directives d'examen de l'App Store. La version du SDK Electron que vous utilisez dans votre application tente de masquer l'utilisation des API privées. Il s'agit d'une violation de la section 2.5.1 des directives d'examen de l'App Store.

Notes complémentaires:

Pour résoudre ce problème, veuillez supprimer entièrement le SDK Electron de votre application ou réviser votre application pour utiliser la version 3.0.0-beta.7, 2.0.8, 1.8.8 ou 1.7.16 du SDK Electron. Une fois que vous avez effectué l'une de ces modifications, soumettez à nouveau votre binaire pour examen.

Nous espérons que vous envisagerez d'apporter les modifications nécessaires pour vous conformer aux directives d'examen de l'App Store et que vous soumettrez à nouveau votre binaire révisé._

Salut les gars, rencontrant également ce problème actuellement (première soumission de macOS à l'App Store, donc je ne savais pas quoi faire et écoutez ici ;-)).
Message dans l'AppStore:

Directive 2.5.1: Les applications ne peuvent utiliser que des API publiques.
CAContexte
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

J'utilise electron v4.2.10.

J'ai essayé avec le binaire Electron que @zcbenz a publié sur https://github.com/electron/electron/issues/20027#issuecomment -549295886, toujours la même lettre de rejet que ci-dessous. On dirait qu'Apple rejette sur la base de la version d'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

Une version 3.0.0-Beta.7 a été rejetée. :(

Utilisation de la classe privée trouvée:
CAContexte
CALayerHost
NSURLFileTypeMappings

Rencontrant également ce problème actuellement, electron v4.2.6

Directive 2.5.1 - Performance - Exigences logicielles

Votre application utilise ou fait référence aux API non publiques suivantes:

CAContexte
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Une solution officielle?

@thomasdao C'est intéressant, on dirait qu'ils ne signalent même pas les API privées. Ils viennent de signaler les versions du framework électronique. 🤔

@thomasdao avez-vous numérisé votre build avant de le soumettre en utilisant 'otool -ov' et des chaînes?

@JCBsystem comment .app et .pkg et la commande a montré une erreur.

Ce que j'ai fait, c'est que j'ai téléchargé le fichier binaire électronique à partir du lien donné par @zcbenz , remplacez-le par le fichier local dans le dossier node_modules puis construisez. Je peux manquer certaines étapes, si vous avez d'autres suggestions, faites-le moi savoir afin que je puisse réessayer, merci

@thomasdao
ouvrez une console depuis 'xxx.app/Contents/Frameworks/Electron \ Framework.framework / Versions / A'
puis courir
otool -ov Electron \ Framework> ../../../../../../dump.txt
et
chaînes Electron \ Framework> ../../../../../../dump1.txt

ouvrez les fichiers de vidage et recherchez les clés API

ou envoyez-moi l'application et je la testerai pour vous :)

@JCBsystem merci pour l'instruction. Les fichiers de vidage sont à https://drive.google.com/file/d/1POwnOX_jMcahUi4beBdo7viKjaeey8PY/view?usp=sharing , je pense qu'il contient toujours une API privée. Le simple fait de remplacer le binaire Electron dans node_modules ne supprime pas vraiment l'API privée dans la version finale. Si vous avez des suggestions, je peux réessayer de soumettre à Apple.

@thomasdao
oui les touches api sont toujours là
on dirait que vous n'avez pas obtenu la version de test dans votre version

Je ne sais pas comment ajouter la version de test correcte dans la version de votre MAS
peut-être que @MarshallOfSound ou @zcbenz peut vous le dire

pense toujours que la nouvelle version de zcbenz fonctionnera

@ electron / get (via electron-packager ou d'autres outils similaires) télécharge les constructions d'électrons à partir du référentiel officiel et les met en cache dans ~ / Library / Caches / electron, indépendamment de ce qui se trouve dans le répertoire local node_modules / electron. J'ai remplacé Electron.app mis en cache par celui de @zcbenz et il a été récupéré pour l'emballage. (_note: l'archive des correctifs a quelques problèmes, en ce que certains dossiers qui devraient être des alias sont inclus dans leur intégralité et certains frameworks sont présents, qui ne sont généralement pas inclus dans les builds mas de electron_).

L'exécution d'otool sur le package résultant ne signale aucune API sur liste noire et l'application elle-même passe un test de fumée de base. Je l'ai soumis pour test Apple aujourd'hui, bien que le patch officiel d'Electron par @zcbenz semble être très proche de la sortie officielle. Au moins, nous pourrions voir s'ils vérifient vraiment les binaires pour les API liées ou s'ils recherchent des versions d'Electron.

Un grand merci à @zcbenz pour ce patch! 👍

@netop merci pour cela. Juste pour les simples développeurs JS mortels, quelles sont les étapes à suivre avant de reconstruire et de vérifier le paquet avant de le soumettre?
Étape 1) Téléchargez la version corrigée depuis @zcbenz à l' adresse https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL et aux étapes 2, 3, 4 .. :

Je pense qu'il y a un PR pour la branche 5x est peut-être préférable d'attendre cela et de l'installer via NPM?

@gurugeek est sûr que le meilleur moyen est d'attendre le patch officiel d'Electron.

Il se trouve que notre application a été confrontée à un problème critique qui a constitué une incitation considérable à l'essayer. De plus, il y a une demande dans ce fil de @zcbenz pour quelqu'un avec un compte Apple Dev pour tester si le correctif fonctionne réellement.

Je reviendrai ici avec des détails une fois que l'équipe d'examen Apple aura répondu.

@netop est également prêt à essayer avant le patch officiel. Je n'ai pas pu le comprendre (encore), alors si vous savez ce que je dois remplacer / vérifier, faites-le moi savoir.

Eh bien ... cela ne fonctionnait toujours pas complètement. Il a dépassé la liste noire précédente, mais ils signalent maintenant ceux-ci:

__CFCopyServerVersionDictionary
__CFCopySystemVersionDictionary
__kCFSystemVersionBuildVersionKey
__kCFSystemVersionProductNameKey
__kCFSystemVersionProductVersionExtraKey
__kCFSystemVersionProductVersionKey

Aucune référence aux méthodes fileport_* .

Je ne sais pas si ces éléments sont présents uniquement dans la version @zcbenz ou s'ils étaient également la version officielle d'Electron, je pourrai vérifier plus tard. Il se peut que @zcbenz ait également ciblé dmg dans la construction, ce qui expliquerait également les frameworks supplémentaires inclus dans le bundle (voir ce problème potentiellement lié et les liens ici).

Je souhaite juste qu'Apple fournisse simplement une liste noire / liste blanche d'API complète ou un outil pour vérifier les versions, au lieu de jouer par essais et erreurs ...

@netop Merci d'avoir testé la build, il s'avère que j'ai oublié d'effacer les anciens fichiers avant de faire une nouvelle build, et certains fichiers de build non-MAS ont été mélangés dans la build que j'ai téléchargée.

J'ai retéléchargé une version propre, désolé pour le problème.
https://drive.google.com/file/d/1foCvpd2YuD7oEBFvwQwmubtdnS6_VIlN/view?usp=sharing

@zcbenz Je vais réessayer de s'il vous

De plus, il semble que les symboles proviennent de crashpad_handler - alors peut-être que je peux supprimer ce fichier moi-même. Sinon, les frameworks semblent être OK ... 🤞

@netop Le lien de téléchargement devrait fonctionner maintenant. Outre le crashpad_handler , vous devez également supprimer Squirrel.framework du bundle.

@zcbenz Merci beaucoup pour le support, j'ai supprimé le Squirrel.framework la dernière fois, j'ai juste manqué crashpad_handler . Étant donné que votre nouvelle version est basée sur 7.1.0 cette fois, je resterai avec la précédente pour plus de commodité et de sécurité, le seul changement étant le module coupable supprimé. Je peux tester la mise à jour 7.1.0 après cela, si l'application est approuvée.

Je soumets dès que possible et je reviendrai avec le résultat une fois que je l'aurai.

OK - l'application a donc été acceptée et est maintenant prête à être vendue. Un grand MERCI à @zcbenz pour la version personnalisée 🙏.

des estimations de temps pour le patch officiel?

Merci @zcbenz!

des estimations de temps pour le patch officiel?

Vous pouvez suivre https://github.com/electron/electron/pull/20965 sur l'avancement.

Actuellement, comme la désactivation des API de couche distante peut réduire considérablement les performances, nous attendons les réponses d'Apple pour voir s'il est possible de débloquer CAContext et CALayerHost pour nous, ou s'il existe un meilleur moyen des correctifs pour éviter une baisse des performances.

Comment utiliser la version corrigée mas @zcbenz mas (jusqu'à ce qu'une solution plus propre soit disponible)

Sur la base d'une demande précédente, voici une description de ce qu'il faut faire pour utiliser le patch

Remarque initiale : notre application est conçue pour plusieurs plates-formes, dont l'une est Electron. Pour cette raison, nous avons besoin d'un peu plus de contrôle sur le processus d'empaquetage, nous utilisons donc electron-packager et non electron-builder . Les étapes suivantes s'appliquent à l'approche electron-packager , avec la version 7.0.1 . Cependant, si vous utilisez builder, il devrait être assez simple d'utiliser l'option de configuration courante electronDist pour obtenir le même résultat. De plus, l'utilisation de la version 7.1.0 est similaire, vous devez simplement adapter les instructions en conséquence.

Voici la séquence d'étapes que j'ai traversées:

  1. Téléchargé et nettoyé le package Electron.app de @zcbenz.

    Le paquet initial basé sur la version 7.0.1 contenait quelques frameworks et bibliothèques supplémentaires qui n'étaient pas nécessaires pour mas (comme Squirrel et crash_pad), la mise à jour basée sur la version ici (basée sur la version 7.0.1 ) et l'utiliser telle quelle, ou vous pouvez simplement l'utiliser comme modèle.

  2. Configurez le conditionneur d'électrons pour utiliser la construction Electron spécifique et l'exécuter une fois

    Cela dépend de la façon dont vous utilisez l'outil. Dans mon cas, j'utilise l'API et non la CLI, j'ai donc défini l'option electronVersion pour spécifier 7.0.1 dans le code. Exécutez le packager - il utilisera @electron/get pour télécharger et mettre en cache une version 7.0.1 Electron officielle (_note: vous pouvez également utiliser la configuration mirrorOptions , si vous voulez obtenir plus de fantaisie et héberger le build personnalisé quelque part - mais pour ce correctif temporaire je ne suis pas allé dans cette direction) _. Une fois que vous avez cette configuration, laissez le packager créer un bundle avec la version officielle - ne le téléchargez pas pour stocker ou quoi que ce soit. Assurez-vous simplement qu'il utilise la version Electron spécifiée.

  3. Trouvez et remplacez la version Electron en cache, puis exécutez à nouveau

    @electron/get stocke les téléchargements mis en cache dans le répertoire ~/Library/Caches/electron . Normalement, il devrait y avoir plusieurs versions d'Electron téléchargées là-bas, recherchez celle qui est utilisée pour le package macOS App Store 7.0.1 . Le nom du sous-répertoire que vous recherchez doit être httpsgithub.comelectronelectronreleasesdownloadv7.0.1electron-v7.0.1-mas-x64.zip et doit contenir une archive zip de la construction électronique. Remplacez cette archive zip par la compilation @zcbenz nettoyée 1 . Exécutez à nouveau le packager - il devrait ignorer le téléchargement officiel et utiliser la version en cache que vous venez de remplacer.

  4. Vérifiez le résultat pour l'utilisation de l'API privée

    Utilisez otool comme indiqué par @thomasdao. Ouvrez une console à partir de xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A puis exécutez

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

    puis recherchez dans la sortie les symboles en question, ils ne doivent pas apparaître

    CAContext
    CALayerHost
    NSAccessibilityRemoteUIElement
    NSNextStepFrame
    NSThemeFrame
    NSURLFileTypeMappings
    

    Alternativement, si vous êtes plus à l'aise avec l'outil GUI, vous pouvez utiliser MacDependency pour lister et rechercher dans les symboles importés par votre framework Electron inclus dans xxx.app.

    _Remarque: Lors de ma première tentative, j'ai manqué le module crash_pad dans le sous-répertoire xxx.app\Contents\Frameworks\Electron Framework.framework\Versions\A\Resources" , et j'ai été signalé pour une utilisation privée de l'API. Vous voudrez peut-être vérifier celui-ci et vous assurer qu'il a été supprimé à l'étape 1 ._

Voilà, vous pouvez maintenant soumettre votre application au magasin.

des estimations de temps pour le patch officiel?

Vous pouvez suivre # 20965 sur la progression.

Actuellement, comme la désactivation des API de couche distante peut réduire considérablement les performances, nous attendons les réponses d'Apple pour voir s'il est possible de débloquer CAContext et CALayerHost pour nous, ou s'il existe un meilleur moyen des correctifs pour éviter une baisse des performances.

est-il possible de publier ceci maintenant et quand Apple Response ou vous trouvez un meilleur moyen de corriger
vous faites une nouvelle mise à jour?
cela peut prendre un certain temps avant la réponse Apple

Serait-il possible de sortir une version alpha ou beta avant qu'Apple ne réponde?

+1 sur une version temporaire alpha ou pour que nous puissions facilement installer avec npm et soumettre :) 💯

Merci pour les superbes directions @netop et le travail rapide @zcbenz !

J'ai suivi les instructions ce matin, soumis une version et a été approuvé ce soir! 👏👏 merci encore.

Merci @zcbenz et @netop ! J'ai soumis une version plus tôt aujourd'hui et elle a été approuvée!

L'utilisation de la version nettoyée aux électrons a aidé à supprimer les API privées, mais l'application est beaucoup plus lourde maintenant. Lors de sa construction avec la version officielle (7.0.1), la taille de l'application est d'environ 60 Mo, mais avec le nettoyage électronique, la taille a grimpé jusqu'à 300 Mo.
Que puis-je faire de mon côté pour diminuer la taille?

@ manish-patwal Consultez l'article ci-dessus:

Comment utiliser la version corrigée mas @zcbenz mas (jusqu'à ce qu'une solution plus propre soit disponible)

Dans l'archive originale de @zcbenz, certains éléments sont inclus deux fois, au lieu d'utiliser des alias. Vous pouvez les corriger manuellement ou utiliser le lien de téléchargement fourni à l'étape 1.

J'ai été approuvé aujourd'hui! Merci!

Existe-t-il une variante Electron 6 de ce correctif disponible? Nous rencontrons des problèmes pour charger du contenu Flash avec la version propre, voir https://github.com/electron/electron/issues/20744 @netop @zcbenz

Mon application vient d'être approuvée par Apple. Il utilise l'électron 6.0.7.
Ce problème est-il donc uniquement présent dans la version 5.x, ou Apple fait-il à nouveau des ajustements sur la stratégie de détection des API privées?

J'utilise Electron 6 ayant toujours un problème

La solution de contournement mentionnée ci-dessus ne fonctionne pas pour moi, je rencontre des problèmes lorsque je remplace ce fichier .zip, il semble que la somme de contrôle ne correspond pas?!

Aide vraiment profondément appréciée - nous devons obtenir notre application dans le magasin: - /

Salut @MarshallOfSound ,

La version corrigée de

Cordialement
Ranjan

@ anh1979 J'ai les mêmes problèmes avec vous, puis je teste dans un nouveau projet simple, c'est ok, donc je suppose qu'il y a un problème avec la version de electron-packager, je lance à nouveau la commande après la mise à jour de electron-packager au dernier est ok.
@netop Merci beaucoup pour votre partage.

@zcbenz @netop

des nouvelles à ce sujet?

J'utilise Electron 6.x et et électron-builder. Nous aurions besoin d'une solution «à l'épreuve des balles», car si Apple rejette l'application, la réputation du compte d'entreprise associé diminuera, ce qui n'est pas bon.

Quel est le statut actuel de cela?

J'utilise le constructeur d'électrons 21.2.0 et l'électron 6.1.5 obtenant ce message de rejet
Votre application utilise ou fait référence aux API non publiques suivantes:

Utilisation des cours privés:
CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

"Le fait de continuer à utiliser ou à dissimuler des API non publiques dans les futures soumissions de cette application peut entraîner la résiliation de votre compte de développeur Apple, ainsi que la suppression de toutes les applications associées de l'App Store."

J'ai lu tous les commentaires et messages, mais je ne sais pas comment utiliser le PATCH de @zcbenz dans mon projet. Je suis totalement confus et inquiet de la façon de résoudre ce problème.

si vous les gars aidez-moi, ce sera très reconnaissant

J'ai également obtenu cela maintenant pour la première fois (notre application a en fait passé l'examen en septembre).

Directive 2.5.1 - Performance - Exigences logicielles

Votre application comprend une version d'un SDK d'Electron qui enfreint les directives d'examen de l'App Store. La version du SDK Electron que vous utilisez dans votre application tente de masquer l'utilisation des API privées. Il s'agit d'une violation de la section 2.5.1 des directives d'examen de l'App Store.

Utilisation de la classe privée trouvée:
CAContexte
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Directive 2.5.1: Les applications ne peuvent utiliser que des API publiques.

Prochaines étapes

Pour résoudre ce problème, veuillez supprimer entièrement le SDK Electron de votre application ou réviser votre application pour utiliser une version corrigée du SDK Electron.

En attente de l'approbation du patch: https://github.com/electron/electron/pull/20965 :)

avec la version du correctif, je ne parviens pas à terminer avec succès le _reconstruction_. Mes dépendances sont SQLite3 et ffmpeg.
Vous trouverez ci-dessous la sortie de journalisation-

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

Corrigez-moi si j'ai tort, s'il-vous plait.

Pouvons-nous maintenant simplement remplacer la version électronique dans package.json par ceci:

"electron": "github:electron/electron#938cc461e794a5771fccc843fd8ce8690e0501bb"
obtenir la version corrigée?

Ou peut-être ceci:

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

@steffanhalv
Je pense que si vous construisez comme ça, vous pouvez inclure plus de bibliothèques qui ne sont pas autorisées dans le MAS
si vous aimez cela, assurez-vous de scanner votre build avant de soumettre et recherchez également d'autres bibliothèques indésirables, voir le commentaire https://github.com/electron/electron/issues/20027#issuecomment -551067242

@zcbenz

Les mises à jour? Quelle version électronique dois-je utiliser pour garantir l'approbation d'Apple?
Il semble que même les applications avec l'électron 6.1.5 soient rejetées.

Quelqu'un pourrait-il me dire exactement quelle version utiliser? Ou utiliser la version personnalisée (comme décrit ci-dessus) est le seul moyen pour le moment?

Merci d'avance!

@gtamas La construction personnalisée est le seul moyen de contourner maintenant, jusqu'à ce que le correctif soit approuvé (comme je le sais).

@ravijethvaaphp lu # 20027 (commentaire)

Existe-t-il une version à télécharger pour electron 6?
car certains plugins ne supportant pas l'Electron 7 In My Project
tout le monde a un lien comme le commentaire ci-dessus, c'est-à-dire https://github.com/electron/electron/issues/20027#issuecomment -551913031

Le manque de réponse de l'équipe Electron concernant ce problème répandu nous pousse à reconsidérer sérieusement l'utilisation d'Electron pour nos applications de plate-forme.

(Je ne suis pas un partisan de ce projet) Avez-vous vu les notes de modification / version de la v8? J'ai fait.

Plus important encore, la philosophie open-source est la suivante: soyez le changement que vous voulez voir, ouvrez le capot. Linus dirait: bricolage. Veuillez soumettre un PR pour les documents, la source, etc.

@cekvenich quels changements dans la v8?
la v8 contient toujours des apis privés

Nous n'avons pas encore eu de solution d'Apple, nous avons donc décidé de ne fusionner que le correctif pour 5.x et 6.x pour le moment.

Il s'agit d'une mesure temporaire permettant aux utilisateurs de publier sur le Mac App Store, mais elle produit des régressions de performances significatives et nous recherchons une résolution avec Apple pour les futures versions d'Electron qui ne compromette pas les performances des applications Electron.

@zcbenz Merci pour une mise à jour.

Les régressions de performances vont-elles affecter les applications qui désactivent déjà l'accélération matérielle (avec l'API app.disableHardwareAcceleration Electron)?

@zcbenz

Bonne nouvelle, merci!

nous avons donc décidé de ne fusionner que le correctif pour 5.x et 6.x pour le moment.

Pourquoi pas pour 7.x?

Les régressions de performances vont-elles affecter les applications qui désactivent déjà l'accélération matérielle (avec l'API app.disableHardwareAcceleration Electron)?

Il n'y a pas de régression des performances des applications qui désactive l'accélération matérielle.

Pourquoi pas pour 7.x?

Parce que ce n'est pas un vrai correctif, et l'équipe a décidé de ne pas l'avoir dans notre dernière écurie à moins qu'il n'y ait pas d'autre option.

Apple finira-t-il par tuer les applications Web comme Electron?

Nous n'avons pas encore eu de solution d'Apple, nous avons donc décidé de ne fusionner que le correctif pour 5.x et 6.x pour le moment.

Il s'agit d'une mesure temporaire permettant aux utilisateurs de publier sur le Mac App Store, mais elle produit des régressions de performances significatives et nous recherchons une résolution avec Apple pour les futures versions d'Electron qui ne compromette pas les performances des applications Electron.

@zcbenz
Quand le correctif sera-t-il publié sur npm, et ce correctif affectera-t-il les performances de la version non mas

La solution de contournement mentionnée ci-dessus ne fonctionne pas pour moi, je rencontre des problèmes lorsque je remplace ce fichier .zip, il semble que la somme de contrôle ne correspond pas?!

Aide vraiment profondément appréciée - nous devons obtenir notre application dans le magasin: - /

Hey @ anh1979 , avez-vous réussi à surmonter le problème de la somme de contrôle. Je reçois également la même erreur de electron-packager / cli:

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


SOLUTION:
Je passe le drapeau suivant à electron-packager/cli.js

--download.disableChecksumSafetyCheck = true

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

@jmcrthrs : Oui, j'ai dû mettre à jour le conditionneur d'électrons avec la dernière version, puis j'ai réessayé et j'ai pu continuer. Mais j'ai rencontré un autre problème alors, quelque chose n'allait pas avec les droits.

Cela signifie-t-il que la version 5/6 pourrait être approuvée par le Mac App Store?

J'ai pu convaincre Apple d'approuver notre application avec la version 6.1.7

J'ai également obtenu l'approbation d'Apple après la mise à jour vers Electron v5.0.13.

@mytran @ jarek-foksa Vos applications ont donc été approuvées malgré des API privées? Vous n'avez pas besoin d'utiliser le travail détaillé ici: https://github.com/electron/electron/issues/20027#issuecomment -551913031

@jmcrthrs Les versions 5.0.13 et 6.1.7 sont sorties récemment et incluent déjà les correctifs MAS. Il n'y a pas de solutions de contournement ou d'étapes supplémentaires nécessaires.

@ jarek-foksa @zcbenz

Bonne nouvelle, merci! Donc, passer à la version 6.1.7 élimine complètement le risque de rejet par Apple, n'est-ce pas? Je veux dire, c'est une version officielle et tout.

@zcbenz a mentionné que ce n'est pas possible avec Electron 7, car "ce n'est pas une vraie solution". C'est pourquoi je suis un peu confus. Est-il donc sûr de l'utiliser ou devrions-nous attendre la "vraie solution"? Est-ce que ce sera bientôt disponible?

@gtamas Oui, j'ai maintenant publié avec succès deux applications différentes en utilisant Electron 5.0.13 sur le Mac App Store. Le processus de soumission s'est déroulé sans heurts, je n'ai reçu aucune plainte d'Apple. Electron 6.1.7 devrait également convenir car il a les mêmes patchs.

Jusqu'à présent, je n'ai pas remarqué de régressions de performances significatives, même si l'une de mes applications est un éditeur SVG qui consiste à manipuler à l'écran des objets graphiques.

@ jarek-foksa Vous ne remarquerez peut-être pas des choses comme les baisses de FPS, mais le correctif résultant déclenche un chemin de code plus gourmand en ressources qui consommera potentiellement plus d'énergie (vider votre batterie plus rapidement)

@MarshallOfSound je me demande, est-ce quelque chose de perceptible du côté de l'onglet de performance de chrome, ou de son plus tard sur le pipeline, hors de la portée

Vous ne pourrez probablement pas le voir depuis les outils de performance de Chromes.

En utilisant la version personnalisée de @zcbenz , mon application v7.x a été approuvée et prête à être vendue. Je n'ai remarqué aucun succès de performance.

Alors, quelle est la solution actuelle pour Electron 7+? En attente de mises à jour? Revenir à 5,6?

@gtamas Oui, j'ai maintenant publié avec succès deux applications différentes en utilisant Electron 5.0.13 sur le Mac App Store. Le processus de soumission s'est déroulé sans heurts, je n'ai reçu aucune plainte d'Apple. Electron 6.1.7 devrait également convenir car il a les mêmes patchs.

Jusqu'à présent, je n'ai pas remarqué de régressions de performances significatives, même si l'une de mes applications est un éditeur SVG qui consiste à manipuler à l'écran des objets graphiques.

Pourrions-nous quelle version de générateur d'électrons vous utilisiez? A-t-il fallu des modifications pour le construire?

@msavin J'utilisais la version 21.2.0 de electron-builder, je ne me souviens pas d'avoir fait de modifications.

Des nouvelles ici?
ou est-ce toujours "électron": "6.1.7", celui à utiliser?

@MarshallOfSound @zcbenz

Apple refuse toujours les applications utilisant les versions officielles d'Electron 7 et 8 MAS en raison de l'utilisation de CALayerHost .

Je ne comprends pas le raisonnement derrière la décision de ne pas patcher les nouvelles versions. Une construction MAS avec des performances de batterie médiocres est toujours meilleure qu'une construction MAS avec de bonnes performances de batterie qui est fondamentalement inutile car elle ne peut pas être publiée sur l'App Store.

Je suppose que l'hypothèse initiale était qu'Apple fournirait bientôt une solution en ajoutant ces deux API à la liste blanche, mais après 3 mois, je suppose qu'il est prudent de supposer qu'ils ne sont pas disposés à le faire.

En outre, ces nouvelles versions d'Electron introduisent des correctifs pour certains bogues critiques (tels que des problèmes d'impression ). J'utilise actuellement une version corrigée d'Electron 5.x et jusqu'à présent, j'ai reçu plusieurs plaintes concernant l'impression cassée, mais aucun de mes utilisateurs ne s'est plaint de l'utilisation de la batterie.

J'espère également qu'Electron 8 pourra être patché. Il a une nouvelle fonction de vérification orthographique qui résout une douleur majeure dans l'ancien Electron. Et je suppose que si quelque chose change dans le futur, ce correctif peut être annulé pour qu'il ne soit pas permanent.

J'obtiens les erreurs suivantes d'Apple avec Electron 6.1.7:

Directive 2.5.1 - Performance - Exigences logicielles

Votre application comprend une version d'un SDK d'Electron qui enfreint les directives d'examen de l'App Store. La version du SDK Electron que vous utilisez dans votre application tente de masquer l'utilisation des API privées. Il s'agit d'une violation de la section 2.5.1 des directives d'examen de l'App Store.

et

Principe directeur 2.5.1 - Performance

Votre application d'application est liée aux framework (s) non publics suivants:

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

essaye ça
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2169#issuecomment -478323276

veuillez nous faire savoir si c'est le problème

Ceci est un autre groupe de listes noires d'API. Il semble qu'Apple ait décidé de tuer les applications électroniques. 😱

J'obtiens les erreurs suivantes d'Apple avec Electron 6.1.7:

Directive 2.5.1 - Performance - Exigences logicielles

Votre application comprend une version d'un SDK d'Electron qui enfreint les directives d'examen de l'App Store. La version du SDK Electron que vous utilisez dans votre application tente de masquer l'utilisation des API privées. Il s'agit d'une violation de la section 2.5.1 des directives d'examen de l'App Store.

et

Principe directeur 2.5.1 - Performance

Votre application d'application est liée aux framework (s) non publics suivants:
_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary

@gaodeng
voir le lien que j'ai posté ci-dessus.
il a soumis une version sale avec dmg dedans et a obtenu le même 2.5.1
regardez la date.

j'espère que c'est juste une erreur de construction par buu700

Ces API sont toutes les API que nous avons déjà corrigées, elles n'ont pas utilisé correctement la construction mas . C'est une erreur de l'utilisateur, pas plus d'API que nous devons corriger

Merci pour la réponse rapide @JCBsystem. Pouvez-vous clarifier ce que vous entendez par "une version sale contenant du dmg"? Dans tous les cas, je supprimerai ~/Library/Caches/electron selon ce message et réessayerai.

Je ne suis pas sûr de ce que vous suggérez: l'erreur utilisateur est ici @MarshallOfSound. Existe-t-il une autre étape attendue en plus d'exécuter la construction mas et de soumettre le fichier pkg généré?

@ buu700 Je dis que vous n'avez pas utilisé la compilation mas . Quel que soit l'outil que vous utilisez, il n'utilise pas la construction mas d'Electron car cette liste de symboles est essentiellement une leçon d'histoire sur tous les symboles que nous avons supprimés dans le passé.

Ah, merci, c'est peut-être un problème d'électrons cordova alors.

@JCBsystem @MarshallOfSound m'a dit @erisu dans https://github.com/apache/cordova-electron/issues/140 pour partager le fichier de configuration bâtisseur d'électrons généré à partir de platforms/electron/build/builder-effective-config.yaml (copié ci - dessous). Est-ce utile?

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
essayer de supprimer

  • cible: dmg
    cambre:
    - x64

Très bien, je viens de soumettre une nouvelle version à l'App Store (configuration régénérée ci-dessous). Doigts croisés!

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

Pas de dé.

Principe directeur 2.5.1 - Performance

Votre application d'application est liée aux framework (s) non publics suivants:

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

(La liste des frameworks non publics est légèrement différente de ce qu'elle était il y a 6 jours, si cela compte.)

@ buu700

pouvez-vous publier un lien vers votre build?

Bien sûr, vous pouvez le télécharger ici .

@ buu700

vous avez un "app.asar.unpacked" inclus dans votre dossier de ressources.
Il y a un electron.app dedans c'est celui qui déclenche les avertissements de l'API

supprimer "app.asar.unpacked" et réessayer
avant de soumettre une copie, vérifiez votre application
ouvrez l'application et accédez au dossier de ressources voir photo.

voir l'image ici
https://imgur.com/a/dYWxq5d

Merci @JCBsystem! Je vais chercher à supprimer cela aujourd'hui; semble être un problème avec Cordova.

@JCBsystem @MarshallOfSound @erisu

Bonnes nouvelles! Ma mise à jour vient d'être acceptée!

Il semble que app.asar.unpacked soit généré par la chaîne d'outils de construction Electron. Je ne sais pas à quel moment il est généré, mais j'ai fini par devoir patcher app-builder-lib comme solution de contournement temporaire:

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

Ce que je ne sais pas, c'est comment personne d'autre ne semble avoir rencontré ce problème, étant donné que pour autant que je sache, c'est un bug Electron heureux. Est-ce qu'il y a peut-être quelque chose que Cordova (ou mon application) fait différemment qui pourrait entraîner la création inattendue de app.asar.unpacked (ou son remplissage inattendu avec le module electron )?

app.asar.unpacked n'a aucun rapport avec cette erreur, sa suppression rendra certaines parties de votre application inutilisables. Votre problème était dû à l'utilisation de la mauvaise version de darwin / mas, peut-être qu'une autre modification que vous avez apportée à vos scripts de construction a résolu le problème sous-jacent, mais la suppression de ce dossier décompressé aura un impact positif de 0 et cassera la plupart des applications

mais il y a 2 applications Electron dans son application
un là-bas dans un endroit normal
et un dans l'app.asar.unpacked.

Ce n'est pas juste

@JCBsystem Désolé si je n'étais pas clair, je dis que leur problème n'est pas lié à # 20027 (le problème actuel dans lequel nous sommes). Leur système de build empaquete incorrectement leur application en utilisant ou en incluant accidentellement la version non mas d'Electron et avoir cette information / solution dans ce fil est un mauvais contexte pour les personnes qui liront ce fil à l'avenir. Je voulais juste préciser que, comme leur problème est complètement différent, toute solution à laquelle ils font référence ne résoudra pas ce problème.

app.asar.unpacked n'a aucun rapport avec cette erreur, sa suppression rendra certaines parties de votre application inutilisables.

Ah, merci, c'est bon à savoir. La suppression de app.asar.unpacked/node_modules/electron/dist/Electron.app causerait-elle des problèmes?

Votre problème était dû à l'utilisation de la mauvaise version de darwin / mas

Peux-tu être plus précis? Vous l'avez dit plusieurs fois et je ne comprends pas quel autre type de construction de mas vous voulez suggérer que j'utilise. La configuration de compilation ne semble-t

peut-être qu'une autre modification que vous avez apportée à vos scripts de construction a résolu le problème sous-jacent, mais la suppression de ce dossier décompressé aura un impact positif de 0 et cassera la plupart des applications

Je ne sais pas quoi vous dire, il n'y a littéralement aucun autre changement. Il passe avec app.asar.unpacked supprimé et échoue dans le cas contraire.

Ah, merci, c'est bon à savoir. Est-ce que la suppression de seulement app.asar.unpacked / node_modules / electron / dist / Electron.app poserait des problèmes?

Probablement pas si vous supprimez _juste_ cette application, mais vous devriez comprendre pourquoi elle est placée là-bas au lieu de la pirater.

Peux-tu être plus précis? Vous l'avez dit plusieurs fois et je ne comprends pas quel autre type de construction de mas vous voulez suggérer que j'utilise. La configuration de compilation ne semble-t-elle pas correcte?

La configuration de construction semble correcte mais comme je l'ai dit either using or accidentally including the non-mas version of Electron . Dans ce cas, vous avez "inclus" la version non mas d'Electron par accident dans ce dossier, bien que votre configuration de compilation ciblait mas par défaut, le package electron npm utilisera le darwin normal app.asar.unpacked .

Vous devriez comprendre pourquoi ce package electron npm a été inclus dans app.asar.unpacked mais que
devrait être résolu à partir de ce fil de discussion, nous sommes sortis du sujet ici 😄

Compris, merci d'avoir clarifié cela! Donc, certains des modules de nœuds de ce dossier sont définitivement nécessaires au moment de l'exécution, mais seulement electron ne le serait généralement pas?

Dans ce cas, je pense que nous avons réduit ce que Cordova doit corriger (ainsi qu'une amélioration pour ma solution de contournement hacky). Je vais rapporter cela dans le fil de discussion cordova-électron.

Désolé si cela est répondu ailleurs, mais:

Les versions 7.x, 8.x et 9.x d'Electron sont-elles également des utilisateurs problématiques d'API privées? Ou y a-t-il eu des mises à jour dans les dernières versions d'Electron pour résoudre ce problème?

Je demande parce que j'essaie de déterminer s'il est plus difficile d'annuler les modifications d'API que j'ai apportées et de revenir à Electron 5.x, ou si je peux simplement obtenir une version ultérieure d'Electron qui est également corrigée.

@briandk 8.0.2 et v9.0.0-beta.3 publiés hier et les notes de publication mentionnent le correctif, donc ces versions devraient être bonnes pour l'App Store. Je ne crois pas qu'une version v7 soit encore fournie avec le correctif, mais je suppose que la prochaine (donc tout ce qui> 7.1.13 ) l'aura, car le PR a été porté vers la branche v7.

Je viens de publier mon application sans perte avec electron 8.2.0 et je peux confirmer que je n'ai rencontré aucun problème d'API privé lors de l'examen.

Les gars, savez-vous, existe-t-il un moyen d'utiliser le module autoUpdater dans la version MAS? Peut-être que cette question est liée à la discussion actuelle.

@kalachevmax Le Mac App Store doit gérer les mises à jour seul. Sans la mise à jour automatique de l'application Electron. Cela étant dit, il existe peut-être un moyen de faire les deux.

Cette page vous a été utile?
0 / 5 - 0 notes