Electron: رفض واجهة برمجة تطبيقات Mac App Store الخاصة: Electron 5.0.10

تم إنشاؤها على ٢٩ أغسطس ٢٠١٩  ·  144تعليقات  ·  مصدر: electron/electron

تفاصيل القضية

  • الإصدار الإلكتروني: 5.0.10.1

البريد الإلكتروني للرفض

ITMS-90338: الاستخدام غير العام لواجهة برمجة التطبيقات - يحتوي التطبيق أو يرث من فئات غير عامة في المحتويات / الأطر / إطار عمل الإلكترون. إذا كانت أسماء الطرق في التعليمات البرمجية المصدر تتطابق مع واجهات برمجة تطبيقات Apple الخاصة المدرجة أعلاه ، فإن تغيير أسماء الطريقة الخاصة بك سيساعد في منع هذا التطبيق من أن يتم وضع علامة عليه في عمليات الإرسال المستقبلية. بالإضافة إلى ذلك ، لاحظ أن واحدة أو أكثر من واجهات برمجة التطبيقات المذكورة أعلاه قد تكون موجودة في مكتبة ثابتة مضمنة في تطبيقك. إذا كان الأمر كذلك ، فيجب إزالتها. لمزيد من المعلومات ، قم بزيارة معلومات الدعم الفني على http://developer.apple.com/support/technical/

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

التعليق الأكثر فائدة

قائمة بواجهات برمجة التطبيقات الخاصة المكتشفة:

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

يرجى التعليق فقط على هذه المشكلة إذا كان البريد الإلكتروني الخاص بالرفض يحتوي على واجهات برمجة تطبيقات غير موجودة في القائمة أعلاه. إذا قمت بالتعليق على +1 فسيتم حذف تعليقك. إذا كنت تواجه هذا الرفض أيضًا ، فيرجى الرد على هذه المشكلة باستخدام 👍 للإشارة إلى ذلك.

ال 144 كومينتر

لقد قمت بتخفيض مستوى Electron إلى 5.0.9 وما زلت أتلقى رسالة إلكترونية للرفض.

لقد تلقيت هذا الرفض هذا الصباح لـ Electron 5.0.4 ، وكذلك لـ 5.0.10. أعتقد أن شيئًا ما قد تغير في نهاية Apple.

عرض كبير سدادة بالنسبة لي. أنا بحاجة إلى حل عاجل. الرجاء المساعدة.

قائمة بواجهات برمجة التطبيقات الخاصة المكتشفة:

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

يرجى التعليق فقط على هذه المشكلة إذا كان البريد الإلكتروني الخاص بالرفض يحتوي على واجهات برمجة تطبيقات غير موجودة في القائمة أعلاه. إذا قمت بالتعليق على +1 فسيتم حذف تعليقك. إذا كنت تواجه هذا الرفض أيضًا ، فيرجى الرد على هذه المشكلة باستخدام 👍 للإشارة إلى ذلك.

استجابت علاقات المطورين وذكرت أنها تعتقد أن المشكلة كانت مطروحة من نهايتها وستنظر في الأمر. لقد تحققت الليلة وأصبحت بنياتي المرفوضة مسبقًا متاحة الآن في App Store Connect.

لقد تحققت للتو أيضًا ، كما أن البناء الذي رفضته سابقًا (Electron 4.2.9) متاح أيضًا في المتجر.

شكرًا gaodeng و mytran و @ ogi1982 على هذه المعلومات الجديدة. يبدو أن Apple حصلت على عدد قليل من وسائل التواصل وقامت إما بتصحيح نظامها أو وضع إطار العمل في القائمة البيضاء مؤقتًا. ما زلت أنتظر الرد على ما حدث بالضبط.

سأترك هذا مفتوحًا حتى الأسبوع المقبل على الأقل حيث نأمل أن يكون لدينا المزيد من المعلومات

يمكنني الآن تحميل التصميم الخاص بي باستخدام Electron 5.0.10 إلى المتجر أيضًا. ربما سأغادر إلى MarshallOfSound لإغلاق هذه التذكرة :)

تم رفض تطبيقي الذي يستخدم Electron 4.2.12 بسبب واجهات برمجة التطبيقات التالية:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

الإلكترون 5.0.11

يستخدم تطبيقك أو يشير إلى واجهات برمجة التطبيقات غير العامة التالية:

CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

الإلكترون: 6.0.10

التوجيه 2.5.1 - الأداء - متطلبات البرامج
يستخدم تطبيقك أو يشير إلى واجهات برمجة التطبيقات غير العامة التالية:

CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

الإلكترون 3.0.2

روابط تطبيقك مقابل إطارات العمل غير العامة التالية:

CAContext
CALayerHost
NSURLFileTypeMappings

MarshallOfSound هل هناك أي شيء يمكننا القيام به للمساعدة؟
ليس لدي المهارات اللازمة لإصلاح هذا بنفسي

zcbenz يبدو أنك قمت بعمل تصحيحات من قبل هل يمكنك عمل واحدة جديدة لهذه؟

آسف للتأكيد ولكن لدي تحديث مهم لتطبيقي يجب نشره

جرب الجاذبية واذكر أنك تستخدم Electron وأن واجهات برمجة التطبيقات تلك هي داخلية لشركة Electron:
https://developer.apple.com/contact/app-store/؟topic=appeal

تم التحديث إلى أحدث إصدار من الإلكترون v7.0.0 وحصل على الرفض مرة أخرى.

تضمين التغريدة
لا تعتقد أن تقديم استئناف سيساعد أكثر من مرة ربما
أفضل محاولة لإصلاح هذا

أرى أنه ملف التصحيح في قاعدة التعليمات البرمجية
بقع \ chromiummas_no_private_api.patch

إذا تمكنا بطريقة ما من إضافة واجهات برمجة التطبيقات هناك
لم أعرف بعد كيف أفعل ذلك

ولأولئك الذين يعرفون كيفية القيام بذلك.
إذا لم يكن لديهم الوقت لإصلاحها ، فربما يمكننا رعايتهم؟
الوقت قيم :)

إذا كان كل شخص يحتاج إلى هذا الإصلاح ، تبرع ببعض الدولارات
أعتقد أنه سيتراكم وربما يسرع هذا الإصلاح

رفض اليوم الإلكترون 6.0.12 وكذلك مع 7.0.0

روابط تطبيقك مقابل إطارات العمل غير العامة التالية:

CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

هل تعمل مع Electron 5؟

لقد أبلغت Apple عن تطبيقي باستخدام الإلكترون وما إلى ذلك وتلقيت هذا:

"مرحبا،

شكرا لك على تقديم هذه المعلومات.

فيما يتعلق بـ 2.5.1 ، يستخدم تطبيقك أو يشير إلى واجهات برمجة التطبيقات غير العامة التالية. إذا لم يكن لديك حق الوصول إلى برنامجك الثنائي أو كنت غير متأكد من كيفية إزالة واجهات برمجة التطبيقات المعنية ، فيرجى الاتصال بمزود الخدمة للحصول على الدعم الفني ".

تم رفض إصدار 3.0.0-beta.5 mas أيضًا مع واجهات برمجة التطبيقات الخاصة:

CAContext
CALayerHost
NSURLFileTypeMappings

منذ أسبوع واحد فقط ، نجحنا في اجتياز تدقيق Apple بنجاح باستخدام إصدار mas نفسه. أتساءل هل تمت إعادة إنشاء ملف electron-v3.0.0-beta.5-mas-x64.zip القديم على جانب خادم التنزيل أم أن الملف المضغوط لم يتم تعديله مطلقًا أثناء قيام Apple بتغيير إستراتيجية API الخاصة بها أو كليهما؟ أي تلميحات يا رفاق ، لأن هذا أمر محبط ومزعج حقًا.

أبل تغير إستراتيجيتها الخاصة API
لقد كنت أقوم بتحديثات أسبوعية للشهر الماضي دون مشاكل

نحن بحاجة إلى إصلاح هذا
للأسف ليس لدي المهارات اللازمة لإصلاحها بنفسي
لقد قمت ببعض عمليات الحفر ويبدو أن هذه الملفات لها مكالمات خاصة بواجهة برمجة تطبيقات

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

وإليك كيفية عمل ملف تصحيح :)
https://www.youtube.com/watch؟v=QtXj9tt-RUE

الآن نحتاج فقط إلى إعداد بيئة التطوير و
محاولة إزالة / التعليق خارج apis

يبدو سهلا ..........

أيضا أنا على الحصول على نفس القضية مع 6.0.11 عند محاولة بناء hyperspacedev / القذف :

يتضمن تطبيقك إصدارًا من SDK من Electron ينتهك إرشادات مراجعة متجر التطبيقات. يحاول إصدار Electron SDK الذي تستخدمه في تطبيقك إخفاء استخدام واجهات برمجة التطبيقات الخاصة. يعد هذا انتهاكًا للمادة 2.5.1 من إرشادات مراجعة متجر التطبيقات.

تم العثور على استخدام فئة خاصة:
CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

لا أعرف ما إذا كان هذا مرتبطًا ، لكنني أعتقد أن هذا يتسبب أيضًا في حدوث عطل في التطبيق أيضًا بسبب خطأ "عملية غير مسموح بها".

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 هل يمكنك مساعدتنا في هذا؟
أرى أنك فعلت أشياء مماثلة من قبل

JCBsystem وجميع. سأكون حريصًا جدًا في تغيير أي شيء لمجرد الوصول إلى Apple. قالت رسالتهم الأخيرة:

_ "قد يؤدي الاستمرار في استخدام واجهات برمجة التطبيقات غير العامة أو إخفائها في عمليات الإرسال المستقبلية لهذا التطبيق إلى إنهاء حساب Apple Developer الخاص بك ، وكذلك إزالة جميع التطبيقات المرتبطة من App Store." _

لا أريد أن أرى أيًا من تطبيقاتي الأخرى قد تعرضت للاختراق ، لذا آمل في إصلاح رسمي في المستقبل (إن أمكن على الإطلاق).

قد يكون أحد المشرفين / المشرفين يمكنه تصعيد هذا (وإعادة التسمية لأنه يؤثر على Electron 6 و Electron 7 أيضًا ، جرب مع 7.0.1 أيضًا).

لقد بدأت للتو في مواجهة نفس المشكلة. تم قبول تطبيقنا في الأصل منذ حوالي شهر ، ولكن فشلت محاولة إرسال التحديث.

غير متأكد من إصدار Electron الدقيق المرتجل ، ولكن مهما كان الإصدار الأخير cordova-electron يعتمد عليه.

(شكرًا أيضًا gurugeek على جذب الانتباه إلى هذا على HN.)

يبدو أن Apple قد وضعت المزيد من واجهات برمجة التطبيقات الخاصة في قائمتها السوداء. وللتوضيح ، يتم استخدام كل واجهات برمجة التطبيقات هذه بواسطة Chromium.

@ buu700 اهلا وسهلا بكم! أعتقد أن هذه مشكلة كبيرة جدًا لجميع الأشخاص الذين يستخدمون الإلكترون بشكل مباشر أو غير مباشر. لذلك نأمل أن يكون هناك حل (رسمي) قريبًا.

نعم ، سيكون من السخف أن يتم إهمال Electron بشكل فعال على نظام macOS بشكل عرضي دون سابق إنذار. نأمل أن تكون هناك طريقة واقعية لمعالجة هذا الأمر في Electron و / أو Chrome ، أو أن Apple مستعدة للتحلي بالمرونة مع هذا.

يتم استخدام واجهات برمجة التطبيقات fileport_makefd و fileport_makeport بواسطة موجو (مكتبة IPC الخاصة بـ Chromium) ويبدو أنه من المستحيل إزالتها ، ولكن لا يبدو أنها تظهر في التقارير الأخيرة ، لذا فمن الأفضل الاحتفاظ بها في الوقت الحالي.

تم استخدام واجهات برمجة التطبيقات CAContext و CALayerHost بواسطة Chromium منذ ما لا يقل عن 5 سنوات مضت ، ولا يوجد سوى عدد قليل من الأماكن التي تستخدمها ولكنها موجودة في كود الرسومات الأساسية ، وينبغي أن يكون من الممكن إزالتها عليهم ولكن علينا معرفة ما يفعلونه بالفعل أولاً.

يجب أن تكون واجهات برمجة التطبيقات الأخرى NS سهلة الإزالة على الرغم من:
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

تم تحديث Slack مؤخرًا ، كيف اجتازوا المراجعة ، هل يعلم أحد؟
Screen Shot 2019-11-04 at 9 24 36 AM

تم رفض تحديث gurugeek كان قبل يومين ، لذا أعتقد أن Slack بالكاد قام بالقطع؟

نشرت Mozilla مؤخرًا كتابًا جيدًا عن سبب بدء استخدام CALayer API غير الموثق في Firefox 69. TLDR هي أن واجهات برمجة التطبيقات الخاصة هذه سمحت لهم بالحصول على استخدام أفضل للبطارية يصل إلى 3 أضعاف في Firefox. ذكرت المقالة أيضًا أن Chrome يستخدم واجهة برمجة تطبيقات Core Animation هذه.

هذه المشكلة لا تؤثر علي بشكل مباشر ولا أفهمها. لكنني اعتقدت أنني سأشارك المقالة أعلاه في حالة مساعدتك في تحديد السبب الجذري للمشكلة.

هل يهتم أي شخص بالتحقق من صحة ثنائي الإلكترون بالنسبة لي؟ انتهى اشتراكي في Apple Developer ولا أريد أن أزعج نفسي بشرائه مرة أخرى 😃.

يعتمد الثنائي على إصدار 7.0.1 مع رموز التصحيح:
https://drive.google.com/open؟id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL

يمكن العثور على التغييرات في الفرع mas-patch-remote-layer-7-0-x . لقد قمت حاليًا بتعطيل كافة المكالمات التي تم الإبلاغ عنها باستثناء fileport_makefd و fileport_makeport ، لذلك من الممكن أن يتم رفض الثنائي مرة أخرى.

تضمين التغريدة
عمل عظيم!
سيحاول التحميل في يوم أو يومين
أحتاج إلى إنهاء بعض التغيير بنفسي أولاً :)

شكرا مرة اخرى!

أجرى مسحًا باستخدام otool -ov مثل سكر التفاح
قبل أن يكون هناك
CAContext 1 ضرب
CALayerHost 1 ضرب
إمكانية الوصول عن بُعد عن بُعد 3
ضرب NSNextStepFrame 2
ضرب NSThemeFrame 2
NSURLFileTypeMappings 1 ضربة

ثم جديد mas-patch-remote-layer-7-0-x build hade 0 يضرب :)
تبدو جيدا

قبل
fileport_makeport 0 مشاهدات
fileport_makefd 0 يضرب
بعد
fileport_makeport 0 إصابة
fileport_makefd 0 ضرب

باستخدام السلاسل ، اقترحت Apple أن أحصل على ضربة واحدة
لـ CAContext
"لم يكن لدى الإطار CAContext صالح ولا IOSurface صالح."
يبدو وكأنه استثناء رسالة أو ما شابه
لا أعرف مدى إرضاء أبل

قبل
fileport_makeport 3 مشاهدات
fileport_makefd 2 يضرب
بعد
fileport_makeport 1 إصابة
fileport_makefd 0 ضرب

تم رفض تطبيقي للتو بسبب مكالمات خاصة بواجهة برمجة التطبيقات (Electron v. 4.0.4). اقترحت Apple القرارات التالية:

"لحل هذه المشكلة ، يُرجى إما إزالة Electron SDK بالكامل من تطبيقك ، أو مراجعة تطبيقك لاستخدام الإصدار 3.0.0-beta.7 أو 2.0.8 أو 1.8.8 أو 1.7.16 من Electron SDK. مرة واحدة لقد أجريت أحد هذه التغييرات ، فأعد إرسال ملفك الثنائي للمراجعة. "

تم الرجوع إلى الإصدار 3.0.0-beta.7. دعونا نرى ما سيحدث...

"لحل هذه المشكلة ، يرجى إما إزالة Electron SDK بالكامل من تطبيقك (صدمتني قراءة هذا) ، أو مراجعة تطبيقك لاستخدام الإصدار 3.0.0-beta.7 أو 2.0.8 أو 1.8.8 أو 1.7. 16 من Electron SDK. بمجرد إجراء أحد هذه التغييرات ، قم بإعادة تقديم ملفك الثنائي للمراجعة. "

يبدو هذا بشكل مثير للريبة مثل قائمة بيضاء مستهدفة لإصدارات الإلكترون. اسمحوا لي أن أقوم ببعض الحفر وأرى ما يمكنني أن أجده.

ivandroid كانت رسالة اليوم؟ هل يمكنك أيضًا نشر قائمة استدعاءات API التي تم وضع علامة عليها بواسطة Apple؟ ربما قررت شركة Apple أن تكون أكثر وضوحًا وقدمت لك بعض الإرشادات على الأقل. أمس كانت رسالة أصعب بكثير. MarshallOfSound شكرا للنظر في هذا. سيكون من الجيد معرفة ما إذا كان الإصدار 3.0.0.-beta7 يفي بهذه المتطلبات.

ivandroid كانت رسالة اليوم؟ هل يمكنك أيضًا نشر قائمة استدعاءات API التي تم وضع علامة عليها بواسطة Apple؟ ربما قررت شركة Apple أن تكون أكثر وضوحًا وقدمت لك بعض الإرشادات على الأقل. أمس كانت رسالة أصعب بكثير. MarshallOfSound شكرا للنظر في هذا. سيكون من الجيد معرفة ما إذا كان الإصدار 3.0.0.-beta7 يفي بهذه المتطلبات.

نعم ، لقد تلقيت رسالة الرفض اليوم.

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

نفس الجواب من الاستئناف

_يشتمل تطبيقك على إصدار SDK من Electron ينتهك إرشادات مراجعة متجر التطبيقات. يحاول إصدار Electron SDK الذي تستخدمه في تطبيقك إخفاء استخدام واجهات برمجة التطبيقات الخاصة. يعد هذا انتهاكًا للمادة 2.5.1 من إرشادات مراجعة متجر التطبيقات.

ملاحظات إضافية:

لحل هذه المشكلة ، يرجى إما إزالة Electron SDK بالكامل من تطبيقك ، أو مراجعة تطبيقك لاستخدام الإصدار 3.0.0-beta.7 أو 2.0.8 أو 1.8.8 أو 1.7.16 من Electron SDK. بمجرد إجراء أحد هذه التغييرات ، قم بإعادة إرسال ملفك الثنائي للمراجعة.

نأمل أن تفكر في إجراء التغييرات اللازمة لتتوافق مع إرشادات مراجعة متجر التطبيقات وأن تعيد تقديم ملفك الثنائي المنقح.

مرحبًا يا رفاق ، يواجهون هذه المشكلة أيضًا حاليًا (أول إرسال macOS إلى App Store ، لذلك لم يكن لدي أي فكرة عما يجب فعله حيال ذلك واستمع هنا فقط ؛-)).
رسالة في AppStore:

التوجيه 2.5.1: يجوز للتطبيقات استخدام واجهات برمجة التطبيقات العامة فقط.
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

أنا أستخدم الإلكترون v4.2.10.

حاولت باستخدام ثنائي Electron الذي نشره zcbenz في https://github.com/electron/electron/issues/20027#issuecomment -549295886 ، وما زلت أحصل على نفس خطاب الرفض كما هو موضح أدناه. يبدو أن Apple ترفض بناءً على إصدار 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

تم رفض إصدار 3.0.0-Beta.7. :(

تم العثور على استخدام فئة خاصة:
CAContext
CALayerHost
NSURLFileTypeMappings

أيضا تواجه هذه المشكلة حاليا ، الإلكترون v4.2.6

التوجيه 2.5.1 - الأداء - متطلبات البرامج

يستخدم تطبيقك أو يشير إلى واجهات برمجة التطبيقات غير العامة التالية:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

أي حل رسمي؟

thomasdao هذا مثير للاهتمام ، يبدو أنهم لا يقومون حتى بالإبلاغ عن واجهات برمجة التطبيقات الخاصة. لقد قاموا للتو بوضع علامة على إصدارات إطار عمل الإلكترون. 🤔

thomasdao هل قمت بفحص

JCBsystem كيف تفحص البناء؟ لقد استخدمت Electron Builder ولست متأكدًا جدًا من الملف الذي يجب مسحه ، حاولت باستخدام ملف .app و .pkg وأظهر الأمر خطأ.

ما فعلته هو أنني قمت بتنزيل ملف الإلكترون الثنائي من الرابط الذي قدمتهzcbenz ، node_modules ثم أنشئ . قد تفوتني بعض الخطوات ، إذا كانت لديك اقتراحات أخرى ، فيرجى إبلاغي بذلك حتى أتمكن من إعادة المحاولة ، شكرًا!

تضمين التغريدة
افتح وحدة تحكم من "xxx.app/Contents/Frameworks/Electron \ Framework.framework / Versions / A"
ثم اركض
otool -ov Electron \ Framework> ../../../../../../dump.txt
و
سلاسل Electron \ Framework> ../../../../../../dump1.txt

افتح ملفات التفريغ وابحث عن مفاتيح api

أو أرسل لي التطبيق وسأختبره لك :)

JCBsystem شكرا على التعليمات. ملفات التفريغ موجودة على https://drive.google.com/file/d/1POwnOX_jMcahUi4beBdo7viKjaeey8PY/view؟usp=sharing ، أعتقد أنه لا يزال يحتوي على واجهة برمجة تطبيقات خاصة. ربما لا يؤدي استبدال ثنائي الإلكترون ببساطة في node_modules إزالة واجهة برمجة التطبيقات الخاصة في الإنشاء النهائي. إذا كان لديك أي اقتراح يمكنني إعادة محاولة الإرسال إلى Apple.

تضمين التغريدة
نعم ، لا تزال مفاتيح API موجودة
يبدو أنك لم تحصل على اختبار البناء في بنائك

لا أعرف كيفية إضافة اختبار البناء الصحيح في yoru MAS build
ربما يستطيعMarshallOfSound أو zcbenz إخبارك

ما زلت أعتقد أن البناء الجديد من zcbenz سيعمل

@ electron / get (عن طريق حزم الإلكترون أو أدوات أخرى مماثلة) يقوم بتنزيل الإلكترون من المستودع الرسمي ويخزنها مؤقتًا في ~ / Library / Caches / electron ، بغض النظر عما هو موجود في دليل node_modules / Electron المحلي. لقد استبدلت تطبيق Electron.app المخبأ بآخر من

لا يؤدي تشغيل otool على الحزمة الناتجة إلى تحديد أي واجهات برمجة تطبيقات مدرجة في القائمة السوداء ، ويجتاز التطبيق نفسه اختبارًا أساسيًا للدخان. لقد قمت بتقديمه لاختبار Apple اليوم ، على الرغم من أن التصحيح الرسمي لـ Electron بواسطة zcbenz يبدو أنه قريب جدًا من الإصدار الرسمي. على الأقل يمكننا معرفة ما إذا كانوا يقومون بالفعل بفحص الثنائيات لواجهات برمجة التطبيقات المرتبطة أو إذا كانوا يبحثون عن إصدارات Electron.

شكراً جزيلاً لـ zcbenz على هذا التصحيح! 👍

@ netop شكرا على هذا. فقط لمطوري JS البشريين الموجودين هنا ، ما هي الخطوات التي يجب اتخاذها قبل إعادة البناء والتحقق من الحزمة قبل التقديم؟
الخطوة 1) قم بتنزيل الإصدار المصحح من https://drive.google.com/open؟id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL والخطوة 2 ، 3 ، 4 ..؟ :

أعتقد أن هناك علاقات عامة لفرع 5x ربما من الأفضل انتظار ذلك وتثبيته عبر NPM؟

gurugeek بالتأكيد أفضل طريقة هي انتظار تصحيح الإلكترون الرسمي.

لقد صادف أن تطبيقنا واجه مشكلة حرجة شكلت حافزًا كبيرًا لتجربة ذلك. بالإضافة إلى وجود طلب في هذا الموضوع من zcbenz لشخص لديه حساب Apple Dev لاختبار ما إذا كان التصحيح يعمل بالفعل.

سأعود هنا بالتفاصيل بمجرد رد فريق مراجعة Apple.

@ netop أيضا على استعداد للمحاولة قبل التصحيح الرسمي. فقط لم أستطع معرفة ذلك (حتى الآن) ، لذا إذا كنت تعرف ما أحتاج إلى استبداله / تحقق منه ، فأخبرني بذلك.

حسنًا ... ما زالت لا تعمل بشكل كامل. لقد تجاوز القائمة السوداء السابقة ، لكن مهلا الآن يضع علامة على هذه:

__CFCopyServerVersionDictionary
__CFCopySystemVersionDictionary
__kCFSystemVersionBuildVersionKey
__kCFSystemVersionProductNameKey
__kCFSystemVersionProductVersionExtraKey
__kCFSystemVersionProductVersionKey

لا توجد إشارة إلى طرق fileport_* .

لست متأكدًا مما إذا كانت هذه العناصر موجودة في zcbenz build فقط أو إذا كانت أيضًا فسأكون قادرًا على التحقق لاحقًا. قد تكون zcbenz قد استهدفت أيضًا dmg في الإصدار ، مما قد يشرح أيضًا الأطر الإضافية المضمنة في الحزمة (انظر هذه المشكلة المحتملة ذات الصلة والروابط هناك).

أتمنى فقط أن تقدم Apple قائمة سوداء / قائمة بيضاء كاملة لواجهة برمجة التطبيقات أو أداة للتحقق من البنيات ، بدلاً من تشغيل التجربة والخطأ ...

netop شكرًا لاختبار بنية جديدة ، وتم دمج بعض الملفات من إصدار غير MAS في البنية التي قمت بتحميلها.

لقد أعدت تحميل بنية نظيفة ، آسف على المشكلة.
https://drive.google.com/file/d/1foCvpd2YuD7oEBFvwQwmubtdnS6_VIlN/view؟usp=sharing

zcbenz سأحاول إعادة الحزمة وإرسالها - ولكن هل يمكنك منح الإذن لتنزيل الإصدار المحدث. شكرا جزيلا لك!

أيضًا ، يبدو أن الرموز تأتي من crashpad_handler - لذا ربما يمكنني إزالة هذا الملف بنفسي. وإلا فإن الأطر تبدو على ما يرام ... ...

netop يجب أن يعمل رابط التنزيل الآن. بصرف النظر عن crashpad_handler ، تحتاج أيضًا إلى إزالة Squirrel.framework من الحزمة.

zcbenz شكرًا جزيلاً لك على الدعم ، لقد أزلت Squirrel.framework في المرة الأخيرة ، فاتني crashpad_handler . نظرًا لأن التصميم الجديد الخاص بك يعتمد على

سأقدم في أسرع وقت ممكن وسأعود بالنتيجة حالما أحصل عليها.

حسنًا - تم قبول التطبيق وهو الآن _ جاهز للبيع_. شكراً جزيلاً لـ

أي تقديرات وقت التصحيح الرسمي؟

شكرا لكzcbenz!

أي تقديرات وقت التصحيح الرسمي؟

يمكنك متابعة https://github.com/electron/electron/pull/20965 على التقدم.

حاليًا نظرًا لأن تعطيل واجهات برمجة التطبيقات للطبقة البعيدة قد يؤدي إلى انخفاض الأداء بشكل كبير ، فإننا ننتظر ردودًا من Apple لمعرفة ما إذا كان من الممكن إلغاء حظر CAContext و CALayerHost بالنسبة لنا ، أو ما إذا كان هناك طريقة أفضل من التصحيح لتجنب إصابة الأداء.

كيفية استخدام الإصدار المصححzcbenz mas (حتى يتوفر حل أكثر نظافة)

بناءً على طلب سابق ، هذا وصف لما يجب القيام به من أجل استخدام التصحيح zcbenz مع أداة تعبئة التطبيق الخاصة بك.

ملاحظة أولية : تم تصميم تطبيقنا لمنصات متعددة ، إحداها هي Electron. لهذا السبب ، نحتاج إلى مزيد من التحكم في عملية التعبئة والتغليف ، لذلك نستخدم electron-packager وليس electron-builder . تنطبق الخطوات التالية على الأسلوب electron-packager ، مع الإصدار 7.0.1 . ومع ذلك ، إذا كنت تستخدم المنشئ ، فيجب أن يكون من السهل استخدام خيار التكوين الشائع electronDist لتحقيق نفس النتيجة. أيضًا ، استخدام الإصدار 7.1.0 مشابه ، يجب عليك فقط تكييف التعليمات وفقًا لذلك.

هذا هو تسلسل الخطوات التي مررت بها:

  1. نزّل ونظف حزمة Electron.app منzcbenz.

    تحتوي الحزمة الأولية التي تستند إلى 7.0.1 على بعض الأطر والمكتبات الإضافية التي لم تكن مطلوبة مقابل mas (مثل Squirrel و crash_pad) ، لم تعد الحزمة المحدثة المستندة إلى 7.1.0 تتضمنها بعد الآن. ومع ذلك ، يواجه كلاهما مشكلة في أن أرشيف zip لا يعالج الروابط الرمزية (الأسماء المستعارة) بشكل صحيح ، ويتم تضمين بعض الثنائيات أكثر من مرة ، مما يجعلها أكبر مما ينبغي. يمكنك تنزيل الإصدار النظيف من هنا (استنادًا إلى الإصدار 7.0.1 ) واستخدامه كما هو ، أو يمكنك استخدامه فقط كقالب.

  2. قم بتكوين حزم الإلكترون لاستخدام بناء الإلكترون المحدد وتشغيله مرة واحدة

    هذا يعتمد على الطريقة التي تستخدم بها الأداة. في حالتي ، أستخدم واجهة برمجة التطبيقات وليس CLI ، لذلك قمت بتعيين الخيار electronVersion لتحديد 7.0.1 في الكود. قم بتشغيل الحزم - سيستخدم @electron/get لتنزيل بنية إلكترونية رسمية 7.0.1 وتخزينها مؤقتًا (_ ملاحظة: يمكنك أيضًا استخدام تكوين mirrorOptions ، إذا كنت ترغب في الحصول على المزيد من الهوى واستضافة بناء مخصص في مكان ما - ولكن لهذا الإصلاح المؤقت لم أذهب بهذه الطريقة) _. بمجرد الانتهاء من هذا الإعداد ، اسمح للرازم بإنشاء حزمة مع الإصدار الرسمي - لا تقم بتحميله إلى المتجر أو أي شيء. فقط تأكد من أنه يستخدم إصدار Electron المحدد.

  3. ابحث عن بنية Electron المخزنة مؤقتًا واستبدلها ثم أعد التشغيل مرة أخرى

    @electron/get يخزن التنزيلات المخزنة مؤقتًا في الدليل ~/Library/Caches/electron . عادة ، يجب أن يكون هناك إصدارات متعددة من Electron يتم تنزيلها هناك ، ابحث عن الإصدار المستخدم لحزمة 7.0.1 macOS App Store. يجب أن يكون اسم الدليل الفرعي الذي تبحث عنه httpsgithub.comelectronelectronreleasesdownloadv7.0.1electron-v7.0.1-mas-x64.zip ويجب أن يحتوي على أرشيف مضغوط لبناء الإلكترون. استبدل هذا الأرشيف المضغوط بـ zcbenz build الذي تم تنظيفه في الخطوة 1 . قم بتشغيل الحزم مرة أخرى - يجب أن يتخطى التنزيل الرسمي ويستخدم النسخة المخبأة التي قمت باستبدالها للتو.

  4. تحقق من نتيجة استخدام API الخاص

    استخدم otool وفقًا لتعليماتthomasdao. افتح وحدة تحكم من xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A ثم قم بتشغيل

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

    ثم ابحث في الإخراج عن الرموز المعنية ، يجب ألا تظهر

    CAContext
    CALayerHost
    NSAccessibilityRemoteUIElement
    NSNextStepFrame
    NSThemeFrame
    NSURLFileTypeMappings
    

    بدلاً من ذلك ، إذا كنت تشعر براحة أكبر مع أداة GUI ، فيمكنك استخدام MacDependency لسرد الرموز التي تم استيرادها بواسطة xxx.app المضمنة في Electron Framework والبحث فيها.

    _Note: في محاولتي الأولى لقد غاب عن crash_pad حدة في xxx.app\Contents\Frameworks\Electron Framework.framework\Versions\A\Resources" الفرعي، وحصلت ترفع علم لاستخدام API الخاص منه. لذلك قد ترغب في إعادة التحقق من ذلك والتأكد من إزالته في الخطوة 1.

هذا كل شيء - يمكنك الآن إرسال تطبيقك إلى المتجر.

أي تقديرات وقت التصحيح الرسمي؟

يمكنك متابعة # 20965 على التقدم.

حاليًا نظرًا لأن تعطيل واجهات برمجة التطبيقات للطبقة البعيدة قد يؤدي إلى انخفاض الأداء بشكل كبير ، فإننا ننتظر ردودًا من Apple لمعرفة ما إذا كان من الممكن إلغاء حظر CAContext و CALayerHost بالنسبة لنا ، أو ما إذا كان هناك طريقة أفضل من التصحيح لتجنب إصابة الأداء.

هل من الممكن تحرير هذا الآن وعندما تستجيب أبل أو تجد طريقة أفضل للترقيع
تقوم بتحديث جديد؟
قد يستغرق الأمر بعض الوقت قبل استجابة التفاح

هل سيكون من الممكن إطلاق الإصدار كإصدار alpha أو beta قبل رد Apple؟

+1 على إصدار مؤقت ألفا أو حتى نتمكن من التثبيت بسهولة باستخدام npm وإرسال :) 💯

شكرًا لك على الإرشادات الرائعة @ netop والعمل السريع zcbenz !

ذهبت من خلال التعليمات هذا الصباح ، وقدمت بناء ، وتمت الموافقة عليها مساء اليوم! 👏👏 شكرا مرة أخرى.

شكرا لك zcbenz و @ netop ! لقد قدمت تصميمًا في وقت سابق اليوم وتمت الموافقة عليه!

ساعد استخدام نسخة إلكترونية نظيفة في إزالة Private-API ، لكن التطبيق أثقل كثيرًا الآن. عند بنائه باستخدام الإصدار الرسمي (7.0.1) ، يبلغ حجم التطبيق حوالي 60 ميجابايت ولكن مع التنظيف الإلكتروني ، قفز الحجم إلى 300 ميجابايت.
ماذا يمكنني أن أفعل من جانبي لتقليل الحجم؟

@ manish-patwal تحقق من الوظيفة أعلاه:

كيفية استخدام الإصدار المصححzcbenz mas (حتى يتوفر حل أكثر نظافة)

في الأرشيف الأصلي من zcbenz ، تم تضمين بعض العناصر مرتين ، بدلاً من استخدام الأسماء المستعارة. يمكنك تصحيحها يدويًا أو استخدام رابط التنزيل المقدم في الخطوة رقم 1.

حصلت على الموافقة اليوم! شكر!

هل يتوفر خيار Electron 6 لهذا الإصلاح؟ نحن وجود قضايا تحميل محتوى الفلاش مع نسخة نظيفة، انظر https://github.com/electron/electron/issues/20744 netopzcbenz

تمت الموافقة على تطبيقي للتو من قبل Apple. إنها تستخدم الإلكترون 6.0.7.
إذن هل هذه المشكلة في الإصدار 5.x فقط ، أم أن Apple تجري تعديلات مرة أخرى على إستراتيجية الكشف عن واجهة برمجة التطبيقات الخاصة؟

أنا أستخدم Electron 6 ما زلت أواجه مشكلة

لا يعمل الحل البديل المذكور أعلاه بالنسبة لي ، فأنا أواجه مشكلات عندما أقوم باستبدال ملف .zip ، ويبدو كما لو كان هناك مجموع اختباري غير مطابق؟!

المساعدة موضع تقدير عميق حقًا - نحتاج إلى توصيل تطبيقنا إلى المتجر: - /

مرحبًا MarshallOfSound ،

عمل البناء المصححzcbenz mas بشكل جيد للغاية ووافقت شركة Apple على استخدامه. هل يمكننا من فضلك الحصول على بعض التقديرات حول متى يمكن تحسينها على الإصدارات الإلكترونية القادمة. شكرا لجهودك ودعمك ايضا

مع تحياتي
رانجان

@ anh1979 لدي نفس المشكلات معك ، ثم
netop شكرا جزيلا لك على مشاركتك.

تضمين التغريدة

أي أخبار عن هذا؟

أنا أستخدم Electron 6.x و Electron-builder. سنحتاج إلى حل "مضاد للرصاص" ، لأنه إذا رفضت Apple التطبيق ، فسوف تنخفض سمعة حساب الشركة المرتبط ، وهذا ليس جيدًا.

ما هو الوضع الحالي لهذا؟

أنا أستخدم منشئ الإلكترون 21.2.0 والإلكترون 6.1.5 للحصول على رسالة الرفض هذه
يستخدم تطبيقك أو يشير إلى واجهات برمجة التطبيقات غير العامة التالية:

استخدام فئة خاصة:
CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

"قد يؤدي الاستمرار في استخدام واجهات برمجة التطبيقات غير العامة أو إخفائها في عمليات الإرسال المستقبلية لهذا التطبيق إلى إنهاء حساب Apple Developer الخاص بك ، وكذلك إزالة جميع التطبيقات المرتبطة من App Store."

لقد قرأت جميع التعليقات والرسائل ، لكن لا أعرف كيفية استخدام رقعة zcbenz في مشروعي. أنا مرتبك تمامًا وقلق بشأن كيفية حل هذا.

إذا ساعدوني يا رفاق ، فسيكون ممتنًا جدًا

لقد حصلت أيضًا على هذا الآن لأول مرة (اجتاز تطبيقنا المراجعة بالفعل في سبتمبر).

التوجيه 2.5.1 - الأداء - متطلبات البرامج

يتضمن تطبيقك إصدارًا من SDK من Electron ينتهك إرشادات مراجعة متجر التطبيقات. يحاول إصدار Electron SDK الذي تستخدمه في تطبيقك إخفاء استخدام واجهات برمجة التطبيقات الخاصة. يعد هذا انتهاكًا للمادة 2.5.1 من إرشادات مراجعة متجر التطبيقات.

تم العثور على استخدام فئة خاصة:
CAContext
CALayerHost
إمكانية الوصول عن بُعد
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

التوجيه 2.5.1: يجوز للتطبيقات استخدام واجهات برمجة التطبيقات العامة فقط.

الخطوات التالية

لحل هذه المشكلة ، يرجى إما إزالة Electron SDK بالكامل من تطبيقك ، أو مراجعة تطبيقك لاستخدام إصدار مصحح من Electron SDK.

في انتظار الموافقة على التصحيح: https://github.com/electron/electron/pull/20965 :)

باستخدام إصدار التصحيح ، لا يمكنني إكمال _ إعادة البناء بنجاح. تبعياتي هي SQLite3 و ffmpeg.
أدناه هو إخراج التسجيل-

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

أرجوا أن تصحح لي إذا كنت مخطئا.

هل يمكننا الآن استبدال إصدار الإلكترون في package.json بهذا:

"electron": "github:electron/electron#938cc461e794a5771fccc843fd8ce8690e0501bb"
للحصول على النسخة المصححة؟

أو ربما هذا:

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

تضمين التغريدة
أعتقد أنه إذا قمت ببناء مثل هذا ، فقد تقوم بتضمين المزيد من libs غير المسموح بها في MAS
إذا كنت ترغب في ذلك ، فتأكد من إجراء مسح ضوئي للبناء قبل الإرسال وابحث أيضًا عن libs الأخرى غير المرغوب فيها ، انظر التعليق https://github.com/electron/electron/issues/20027#issuecomment -551067242

تضمين التغريدة

أي تحديثات؟ ما هو إصدار الإلكترون الذي يجب أن أستخدمه لضمان موافقة Apple؟
يبدو أنه حتى التطبيقات ذات الإلكترون 6.1.5 يتم رفضها ..

هل يمكن لأي شخص أن يخبرني بالضبط الإصدار الذي يجب استخدامه؟ أم أن استخدام الإنشاء المخصص (كما هو موضح أعلاه) هو الطريقة الوحيدة حاليًا؟

شكرا لك مقدما!

gtamas التصميم المخصص هو الطريقة الوحيدة الآن ، حتى تتم الموافقة على الإصلاح (كما أعرف).

ravijethvaaphp قراءة # 20027 (تعليق)

هل يوجد تصميم للتحميل للإلكترون 6؟
لأن بعض المكونات الإضافية لا تدعم Electron 7 In My Project
أي شخص لديه رابط مثل التعليق أعلاه مثل https://github.com/electron/electron/issues/20027#issuecomment -551913031

إن عدم وجود استجابة من فريق Electron فيما يتعلق بهذه المشكلة الواسعة الانتشار يجعلنا نعيد النظر بجدية في استخدام Electron لتطبيقات منصتنا.

(أنا لست ملتزمًا بهذا المشروع) هل رأيت ملاحظات التغيير / الإصدار لـ v8؟ فعلت.

الأهم من ذلك ، فلسفة المصدر المفتوح هي: كن التغيير الذي تريد أن تراه ، افتح الغطاء. سيقول لينوس: DIY. يرجى تقديم PR للمستندات والمصدر وما إلى ذلك.

cekvenich ما التغييرات في V8؟
v8 لا يزال يحتوي على واجهات برمجة تطبيقات خاصة به

لم نحصل على حل من Apple حتى الآن ، لذلك قررنا دمج الإصلاح فقط لـ 5.x و 6.x في الوقت الحالي.

هذا إجراء مؤقت للسماح للأشخاص بالإفراج عنهم على Mac App Store ، ولكنه ينتج عنه تراجع كبير في الأداء ونحن نسعى للحصول على حل مع Apple للإصدارات المستقبلية من Electron التي لا تضر بأداء تطبيقات Electron.

zcbenz شكرا على التحديث.

هل ستؤثر انحدار الأداء على التطبيقات التي تعمل بالفعل على تعطيل تسريع الأجهزة (مع app.disableHardwareAcceleration Electron API)؟

تضمين التغريدة

أخبار سارة ، شكرا لك!

لذلك قررنا دمج الإصلاح لـ 5.x و 6.x فقط في الوقت الحالي.

لماذا لا تستخدم 7.x؟

هل ستؤثر انحدار الأداء على التطبيقات التي تعمل بالفعل على تعطيل تسريع الأجهزة (مع app.disableHardwareAcceleration Electron API)؟

لا يوجد تراجع في أداء التطبيقات التي تعطل تسريع الأجهزة.

لماذا لا تستخدم 7.x؟

لأن هذا ليس إصلاحًا حقيقيًا ، وقرر الفريق عدم الحصول عليه في أحدث إسطبل لدينا ما لم يكن هناك خيار آخر.

آبل ستقتل التطبيقات المستندة إلى الويب مثل Electron في النهاية؟

لم نحصل على حل من Apple حتى الآن ، لذلك قررنا دمج الإصلاح فقط لـ 5.x و 6.x في الوقت الحالي.

هذا إجراء مؤقت للسماح للأشخاص بالإفراج عنهم على Mac App Store ، ولكنه ينتج عنه تراجع كبير في الأداء ونحن نسعى للحصول على حل مع Apple للإصدارات المستقبلية من Electron التي لا تضر بأداء تطبيقات Electron.

تضمين التغريدة
متى سيتم نشر الإصلاح إلى npm ، وهل سيؤثر هذا الإصلاح على أداء إصدار non-mas

لا يعمل الحل البديل المذكور أعلاه بالنسبة لي ، فأنا أواجه مشكلات عندما أقوم باستبدال ملف .zip ، ويبدو كما لو كان هناك مجموع اختباري غير مطابق؟!

المساعدة موضع تقدير عميق حقًا - نحتاج إلى توصيل تطبيقنا إلى المتجر: - /

مرحبًا @ anh1979 ، هل تمكنت من تجاوز مشكلة المجموع الاختباري. أتلقى أيضًا نفس الخطأ من الإلكترون-الرابط / CLI:

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


المحلول:
قمت بتمرير العلم التالي إلى electron-packager/cli.js

--download.disableChecksumSafetyCheck = صحيح

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

jmcrthrs : نعم ، اضطررت إلى تحديث

هل هذا يعني أنه يمكن اعتماد الإصدار 5/6 بواسطة Mac App Store؟

تمكنت من جعل Apple توافق على تطبيقنا بـ 6.1.7

حصلت أيضًا على موافقة من Apple بعد التحديث إلى Electron v5.0.13.

mytran @ jarek-foksa هل تمت الموافقة على تطبيقاتك على الرغم من وجود واجهات برمجة تطبيقات خاصة؟ لم تكن بحاجة لاستخدام العمل المفصل هنا: https://github.com/electron/electron/issues/20027#issuecomment -551913031

تم إصدار

@ jarek- foksazcbenz

أخبار سارة ، شكرا لك! لذا فإن الترقية إلى 6.1.7 تقضي على مخاطر الرفض من قبل Apple تمامًا ، أليس كذلك؟ أعني ، هذا بيان رسمي وكل شيء.

ذكر zcbenz أن هذا غير ممكن مع Electron 7 ، لأن "هذا ليس إصلاحًا حقيقيًا". لهذا أنا في حيرة من أمري. فهل من الآمن استخدام هذا أم يجب أن ننتظر "الإصلاح الحقيقي"؟ هل سيتم إطلاق ذلك في أي وقت قريب؟

gtamas نعم ، لقد نشرت الآن بنجاح تطبيقين مختلفين باستخدام Electron 5.0.13 على Mac App Store. كانت عملية الإرسال سلسة ، ولم أتلق أي شكوى من Apple. يجب أن يكون الإلكترون 6.1.7 جيدًا أيضًا لأنه يحتوي على نفس البقع.

حتى الآن لم ألاحظ أي تراجع كبير في الأداء ، على الرغم من أن أحد تطبيقاتي هو محرر SVG والذي يدور حول معالجة الكائنات الرسومية على الشاشة.

@ jarek-foksa قد لا تلاحظ أشياء مثل انخفاض معدل الإطارات في الثانية ولكن التصحيح الناتج يؤدي إلى المزيد من مسار التعليمات البرمجية الجائع للموارد والذي من المحتمل أن يستهلك المزيد من الطاقة (استنزاف البطارية بشكل أسرع)

MarshallOfSound أتساءل ، هل هو شيء ملحوظ من جانب علامة تبويب أداء الكروم ، أم لاحقًا على خط الأنابيب ، خارج النطاق

ربما لن تتمكن من رؤيته من داخل أدوات الأداء الخاصة بـ Chromes.

باستخدام الإصدار المخصص من zcbenz ، تمت الموافقة على تطبيق v7.x الخاص بي وجاهزًا للبيع. لم ألاحظ أي نتائج أداء.

إذن ما هو الحل الحالي لـ Electron 7+؟ في انتظار التحديثات؟ الرجوع إلى 5،6؟

gtamas نعم ، لقد نشرت الآن بنجاح تطبيقين مختلفين باستخدام Electron 5.0.13 على Mac App Store. كانت عملية الإرسال سلسة ، ولم أتلق أي شكوى من Apple. يجب أن يكون الإلكترون 6.1.7 جيدًا أيضًا لأنه يحتوي على نفس البقع.

حتى الآن لم ألاحظ أي تراجع كبير في الأداء ، على الرغم من أن أحد تطبيقاتي هو محرر SVG والذي يدور حول معالجة الكائنات الرسومية على الشاشة.

هل يمكننا أي إصدار من باني الإلكترون كنت تستخدمه؟ هل استغرق الأمر أي تعديلات للحصول عليه للبناء؟

msavin كنت أستخدم إصدار منشئ الإلكترون 21.2.0 ، ولا أتذكر إجراء أي تعديلات.

هل من أخبار هنا؟
أو لا يزال "الإلكترون": "6.1.7" ، الذي يجب استخدامه؟

تضمين التغريدة #MarshallOfSoundzcbenz

لا تزال Apple ترفض التطبيقات التي تستخدم تصميمات Electron 7 و 8 MAS الرسمية بسبب استخدام CALayerHost .

لا أفهم السبب وراء قرار عدم تصحيح الإصدارات الأحدث. دائمًا ما يكون إنشاء MAS ذو الأداء الضعيف للبطارية أفضل من تصميم MAS مع أداء بطارية جيد وهو عديم الفائدة أساسًا لأنه لا يمكن نشره في متجر التطبيقات.

أعتقد أن الافتراض الأولي كان أن Apple ستوفر حلاً قريبًا من خلال إدراج هاتين واجهتي برمجة التطبيقات في القائمة البيضاء ، ولكن بعد 3 أشهر أعتقد أنه من الآمن افتراض أنهم ليسوا على استعداد للقيام بذلك.

إلى جانب ذلك ، تقدم إصدارات Electron الجديدة هذه إصلاحات لبعض الأخطاء الحرجة (مثل الطباعة المكسورة ). أستخدم حاليًا إصدارًا مصححًا من Electron 5.x وحتى الآن تلقيت العديد من الشكاوى حول الطباعة المكسورة ، لكن لم يشتك أي من المستخدمين من استخدام البطارية.

آمل أيضًا أن يتم تصحيح Electron 8. يحتوي على ميزة التدقيق الإملائي الجديدة التي تحل مشكلة كبيرة في الإلكترون الأقدم. وأعتقد أنه إذا تغير أي شيء في المستقبل ، فيمكن إعادة هذا التصحيح بحيث لا يكون دائمًا.

تظهر لي الأخطاء التالية من Apple مع Electron 6.1.7:

التوجيه 2.5.1 - الأداء - متطلبات البرامج

يتضمن تطبيقك إصدارًا من SDK من Electron ينتهك إرشادات مراجعة متجر التطبيقات. يحاول إصدار Electron SDK الذي تستخدمه في تطبيقك إخفاء استخدام واجهات برمجة التطبيقات الخاصة. يعد هذا انتهاكًا للمادة 2.5.1 من إرشادات مراجعة متجر التطبيقات.

و

المبدأ التوجيهي 2.5.1 - الأداء

روابط تطبيقك مقابل إطارات العمل غير العامة التالية:

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

جرب هذا
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2169#issuecomment -478323276

يرجى إعلامنا إذا كانت هذه هي المشكلة

هذه مجموعة أخرى من القوائم السوداء لواجهة برمجة التطبيقات. يبدو أن شركة آبل قررت قتل تطبيقات الإلكترون. 😱

تظهر لي الأخطاء التالية من Apple مع Electron 6.1.7:

التوجيه 2.5.1 - الأداء - متطلبات البرامج

يتضمن تطبيقك إصدارًا من SDK من Electron ينتهك إرشادات مراجعة متجر التطبيقات. يحاول إصدار Electron SDK الذي تستخدمه في تطبيقك إخفاء استخدام واجهات برمجة التطبيقات الخاصة. يعد هذا انتهاكًا للمادة 2.5.1 من إرشادات مراجعة متجر التطبيقات.

و

المبدأ التوجيهي 2.5.1 - الأداء

روابط تطبيقك مقابل إطارات العمل غير العامة التالية:
_AXTextMarkerRangeCopyEndMarker، _NSTextInputReplacementRangeAttributeName، __kCFSystemVersionProductVersionExtraKey، _AXTextMarkerCreate، _AXTextMarkerRangeCopyStartMarker، _AXTextMarkerGetBytePtr، __kCFSystemVersionBuildVersionKey، _AudioDeviceDuck، __NSDrawCarbonThemeListBox، __NSInitializeKillRing، __CFCopyServerVersionDictionary، __NSYankFromKillRing، __LSSetApplicationLaunchServicesServerConnectionStatus، __NSAppendToKillRing، __kCFSystemVersionProductNameKey، __NSDrawCarbonThemeBezel، _AXTextMarkerRangeCreate، __kCFSystemVersionProductVersionKey، _AXTextMarkerGetLength، _SetApplicationIsDaemon، __NSNewKillRingSequence، __NSSetKillRingToYankedState، __CFCopySystemVersionDictionary

تضمين التغريدة
انظر الرابط الذي نشرته أعلاه.
قدم بنية قذرة بداخلها dmg وحصل على نفس 2.5.1
انظر الى التاريخ.

آمل أن يكون مجرد خطأ في البناء بواسطة buu700

واجهات برمجة التطبيقات هذه هي جميع واجهات برمجة التطبيقات التي قمنا بتصحيحها ، ولم تستخدم بناء mas بشكل صحيح. إنه خطأ مستخدم ليس المزيد من واجهات برمجة التطبيقات التي يتعين علينا إصلاحها

شكرا على الرد السريعJCBsystem. هل يمكنك توضيح ما تعنيه بعبارة "بنية قذرة بداخلها dmg"؟ على أي حال ، سأحذف ~/Library/Caches/electron حسب هذا المنشور وحاول مرة أخرى.

لست متأكدًا مما تقترحه من خطأ المستخدم هناMarshallOfSound. هل هناك خطوة أخرى متوقعة بالإضافة إلى تشغيل mas build وإرسال ملف pkg الذي تم إنشاؤه؟

@ buu700 أقول إنك لم تستخدم بناء mas . مهما كانت الأدوات التي تستخدمها ، فهي لا تستخدم إنشاء الإلكترون mas لأن قائمة الرموز هذه هي في الأساس درس تاريخ في جميع الرموز التي أزلناها في الماضي.

آه ، شكرًا ، قد تكون هذه مشكلة كوردوفا-إلكترون إذن.

وقدJCBsystemMarshallOfSound قلت من قبلerisu في https://github.com/apache/cordova-electron/issues/140 للمشاركة في إنشاء ملف الإلكترون باني التكوين من platforms/electron/build/builder-effective-config.yaml (نسخ أدناه). هل هذا مفيد؟

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
حاول إزالته

  • الهدف: dmg
    قوس:
    - إلى x64

حسنًا ، لقد أرسلت للتو بنية جديدة إلى متجر التطبيقات (التكوين المعاد إنشاؤه أدناه). تشابك الاصابع!

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

لا نرد.

المبدأ التوجيهي 2.5.1 - الأداء

روابط تطبيقك مقابل إطارات العمل غير العامة التالية:

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

(تختلف قائمة الأطر غير العامة قليلاً عما كانت عليه قبل 6 أيام ، إذا كان ذلك مهمًا).

@ buu700

هل يمكنك نشر ارتباط إلى جهازك؟

بالتأكيد ، يمكنك تنزيله هنا .

@ buu700

لديك "app.asar.unpacked" مدرج في مجلد الموارد.
يوجد تطبيق electron.app فيه الذي يطلق تحذيرات API

إزالة "app.asar.unpacked" وحاول مرة أخرى
قبل إرسال dubble تحقق من التطبيق
افتح التطبيق وانتقل إلى مجلد الموارد انظر الصورة.

انظر الصورة هنا
https://imgur.com/a/dYWxq5d

شكراJCBsystem! سأبحث في إزالة ذلك اليوم ؛ يبدو أنه على الأرجح مشكلة كوردوفا.

تضمين التغريدة #JCBsystemMarshallOfSounderisu

أخبار جيدة! تم قبول التحديث الخاص بي للتو!

يبدو أن app.asar.unpacked تم إنشاؤه بواسطة سلسلة أدوات بناء الإلكترون. لا أعرف النقطة التي تم إنشاؤها عندها ، لكن انتهى بي الأمر إلى تصحيح app-builder-lib كحل مؤقت:

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

ما أنا في حيرة من أمري هو كيف لا يبدو أن أي شخص آخر قد واجه هذه المشكلة ، بالنظر إلى أنه بقدر ما أستطيع أن أقول إنه مسار سعيد خطأ في الإلكترون. هل من المحتمل أن يكون هناك شيء ما تقوم به كوردوفا (أو تطبيقي) بشكل مختلف قد يتسبب في إنشاء app.asar.unpacked بشكل غير متوقع (أو ملؤه بشكل غير متوقع بالوحدة electron

app.asar.unpacked ليس له علاقة بهذا الخطأ تمامًا ، فحذفه سيؤدي في الواقع إلى جعل أجزاء من تطبيقك غير قابلة للاستخدام. كانت مشكلتك بسبب استخدام إصدار darwin / mas الخاطئ ، فربما أدى تغيير آخر أجريته في البرامج النصية للبناء إلى إصلاح المشكلة الأساسية ولكن حذف هذا المجلد الذي تم فك حزمه لن يكون له أي تأثير إيجابي وسيؤدي إلى تعطيل معظم التطبيقات

ولكن هناك تطبيقان للإلكترون في تطبيقه
واحد هناك مكان عادي
وواحد في app.asar.unpacked.

هذا غير صحيح

JCBsystem آسف إذا لم أكن واضحًا ، فأنا أقول إن بصددها ). يقوم نظام البناء الخاص بهم بتعبئة تطبيقهم بشكل غير صحيح إما باستخدام أو تضمين إصدار غير mas من Electron ، ووجود هذه المعلومات / الحل في هذا الموضوع هو سياق ضعيف للأشخاص الذين يقرؤون هذا الموضوع في المستقبل. كنت فقط أوضح أنه نظرًا لأن مشكلتهم مختلفة تمامًا ، فإن أي حل يشيرون إليه لن يحل هذه المشكلة.

app.asar.unpacked ليس له علاقة بهذا الخطأ تمامًا ، فحذفه سيؤدي في الواقع إلى جعل أجزاء من تطبيقك غير قابلة للاستخدام.

آه ، شكرًا ، من الجيد معرفة ذلك. هل سيؤدي حذف app.asar.unpacked/node_modules/electron/dist/Electron.app حدوث مشكلات؟

كانت مشكلتك بسبب استخدام بنية darwin / mas الخاطئة

يمكنك أن تكون أكثر تحديدا؟ لقد قلت هذا عدة مرات وأنا لا أفهم أي نوع آخر من بناء mas تقصد أن تقترح استخدامي. ألا يبدو تكوين البناء صحيحًا؟

ربما أدى بعض التغيير الآخر الذي أجريته في البرامج النصية للبناء إلى إصلاح المشكلة الأساسية ولكن حذف هذا المجلد غير المضغوط لن يكون له أي تأثير إيجابي وسيؤدي إلى تعطيل معظم التطبيقات

لست متأكدًا مما سأخبرك به ، فلا توجد تغييرات أخرى حرفيًا. يمر مع إزالة app.asar.unpacked ويفشل على خلاف ذلك.

آه ، شكرًا ، من الجيد معرفة ذلك. هل سيؤدي حذف app.asar.unpacked / node_modules / electron / dist / Electron.app فقط إلى حدوث مشكلات؟

ربما لا يحدث ذلك إذا قمت بحذف _just_ هذا التطبيق ، ولكن يجب عليك معرفة سبب وضعه هناك بدلاً من اختراقه.

يمكنك أن تكون أكثر تحديدا؟ لقد قلت هذا عدة مرات وأنا لا أفهم أي نوع آخر من بناء mas تقصد أن تقترح استخدامي. ألا يبدو تكوين البناء صحيحًا؟

يبدو تكوين البناء صحيحًا ولكن كما قلت either using or accidentally including the non-mas version of Electron . في هذه الحالة ، كنت تقوم "بتضمين" الإصدار غير mas من Electron عن طريق الصدفة في هذا المجلد ، على الرغم من أن تكوين الإنشاء الخاص بك كان يستهدف mas افتراضيًا ، ستستخدم الحزمة electron npm darwin العادي app.asar.unpacked .

يجب أن تعرف سبب تضمين حزمة npm electron في app.asar.unpacked لكن ذلك
يجب حل هذه المشكلة ، لقد خرجنا عن الموضوع هنا 😄

حسنًا ، شكرًا لتوضيح ذلك! لذا فإن بعض الوحدات النمطية في هذا المجلد مطلوبة بالتأكيد في وقت التشغيل ، ولكن فقط electron لن تكون كذلك؟

في هذه الحالة ، أعتقد أننا قمنا بتضييق نطاق ما يحتاج كوردوفا إلى إصلاحه (بالإضافة إلى تحسين الحل البديل الخاص بي). سأقوم بالإبلاغ عن هذا في موضوع كوردوفا-إلكترون.

آسف إذا تم الرد على هذا في مكان آخر ، ولكن:

هل إصدارات Electron 7.x و 8.x و 9.x تمثل أيضًا مشكلة للمستخدمين لواجهات برمجة التطبيقات الخاصة؟ أو هل كانت هناك تحديثات في أحدث إصدارات Electron لمعالجة هذه المشكلة؟

أسأل لأنني أحاول معرفة ما إذا كان التراجع عن تغييرات API المعطلة التي أجريتها والعودة مرة أخرى إلى Electron 5.x ، أو إذا كان بإمكاني الحصول على إصدار أحدث من Electron تم إصلاحه أيضًا.

تم إصدارbriandk 8.0.2 و v9.0.0-beta.3 بالأمس وتشير ملاحظات الإصدار إلى الإصلاح ، لذلك يجب أن تكون هذه الإصدارات جيدة لمتجر التطبيقات. لا أعتقد أن الإصدار v7 قد أتى مع الإصلاح حتى الآن ، لكنني أفترض أن الإصدار التالي (لذا أي شيء> 7.1.13 ) سيحصل عليه ، حيث تم نقل PR إلى فرع v7.

لقد قمت للتو بإصدار تطبيقي بدون فقدان الاختصار باستخدام الإلكترون 8.2.0 ويمكنني أن أؤكد أنني لم أحصل على أي مشكلات خاصة بواجهة برمجة التطبيقات أثناء المراجعة.

هل تعلم يا رفاق ، هل هناك طريقة لاستخدام وحدة التحديث التلقائي في بناء MAS؟ ربما يرتبط هذا السؤال بالمناقشة الحالية.

kalachevmax Mac App Store يجب أن يتعامل مع التحديثات من تلقاء نفسه. بدون تطبيق Electron يقوم بالتحديث التلقائي لنفسه. ومع ذلك ، قد تكون هناك طريقة للقيام بالأمرين معًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات