Electron: Penolakan API Pribadi Mac App Store: Electron 5.0.10

Dibuat pada 29 Agu 2019  ·  144Komentar  ·  Sumber: electron/electron

Detail Masalah

  • Versi Elektron: 5.0.10.0

Email Penolakan

ITMS-90338: Penggunaan API non-publik - Aplikasi berisi atau mewarisi dari kelas non-publik di Contents / Frameworks / Electron Framework.framework / Versions / A / Electron Framework: CAContext, CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileTypeMappings. Jika nama metode dalam kode sumber Anda cocok dengan Apple API pribadi yang tercantum di atas, mengubah nama metode Anda akan membantu mencegah aplikasi ini ditandai dalam pengiriman selanjutnya. Selain itu, perhatikan bahwa satu atau beberapa API di atas mungkin berada di pustaka statis yang disertakan dengan aplikasi Anda. Jika demikian, mereka harus disingkirkan. Untuk informasi lebih lanjut, kunjungi Informasi Dukungan Teknis di http://developer.apple.com/support/technical/

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

Komentar yang paling membantu

Daftar API pribadi yang terdeteksi:

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

Harap beri komentar hanya tentang masalah ini jika email penolakan Anda memiliki API yang tidak ada dalam daftar di atas. Jika Anda hanya berkomentar +1 komentar Anda akan dihapus. Jika Anda juga mengalami penolakan ini, harap bereaksi terhadap masalah ini dengan 👍 untuk menunjukkannya.

Semua 144 komentar

Saya menurunkan versi Electron ke 5.0.9 dan masih mendapatkan email penolakan.

Saya mendapat penolakan pagi ini untuk Electron 5.0.4, dan juga untuk 5.0.10. Saya pikir sesuatu telah berubah di pihak Apple.

Show stopper besar untuk saya. Saya butuh solusi yang mendesak. tolong bantu.

Daftar API pribadi yang terdeteksi:

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

Harap beri komentar hanya tentang masalah ini jika email penolakan Anda memiliki API yang tidak ada dalam daftar di atas. Jika Anda hanya berkomentar +1 komentar Anda akan dihapus. Jika Anda juga mengalami penolakan ini, harap bereaksi terhadap masalah ini dengan 👍 untuk menunjukkannya.

Hubungan pengembang menanggapi dan menyatakan bahwa mereka yakin bahwa masalah tersebut ada pada masalah di pihak mereka dan mereka akan menyelidikinya. Saya memeriksanya malam ini dan build saya yang sebelumnya ditolak kini tersedia di App Store Connect.

Saya baru saja memeriksanya dan build saya yang sebelumnya ditolak (Electron 4.2.9) juga tersedia di toko.

Terima kasih @gaodeng , @mytran dan @ ogi1982 untuk informasi baru tersebut. Sepertinya apple mendapat beberapa jangkauan dan memperbaiki sistem mereka atau memasukkan kerangka kerja ke daftar putih untuk sementara. Masih menunggu untuk mendengar kembali apa yang sebenarnya terjadi.

Saya akan membiarkan ini terbuka sampai setidaknya minggu depan di mana semoga kita memiliki lebih banyak info

Sekarang saya dapat mengunggah bangunan saya dengan Electron 5.0.10 ke Store juga. Saya mungkin akan pergi ke @MarshallOfSound untuk menutup tiket ini :)

Aplikasi saya menggunakan Electron 4.2.12 baru saja ditolak karena API berikut:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Elektron 5.0.11

Aplikasi Anda menggunakan atau mereferensikan API non-publik berikut:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

elektron: 6.0.10

Panduan 2.5.1 - Kinerja - Persyaratan Perangkat Lunak
Aplikasi Anda menggunakan atau mereferensikan API non-publik berikut:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

electron 3.0.2

Aplikasi aplikasi Anda ditautkan ke framework non-publik berikut:

CAContext
CALayerHost
NSURLFileTypeMappings

@MarshallOfSound adakah yang bisa kami lakukan untuk membantu?
saya tidak memiliki keterampilan untuk memperbaiki ini sendiri

@zcbenz sepertinya Anda telah melakukan tambalan sebelumnya, dapatkah Anda melakukan yang baru untuk ini?

maaf karena stres, tetapi saya memiliki pembaruan penting untuk aplikasi saya yang perlu diterapkan

Coba tarik dan nyatakan bahwa Anda menggunakan Electron dan API tersebut bersifat internal ke Electron:
https://developer.apple.com/contact/app-store/?topic=appeal

Diperbarui ke elektron terbaru v7.0.0 dan mendapat penolakan lagi.

@tran
tidak berpikir mengajukan banding akan membantu lebih dari mungkin sekali
lebih baik coba perbaiki ini

saya melihat file patch di basis kode
patches \ chromiummas_no_private_api.patch

jika kami entah bagaimana dapat menambahkan API di sana
Saya belum tahu bagaimana melakukannya

dan bagi mereka yang tahu bagaimana melakukan ini.
Jika mereka tidak punya waktu untuk memperbaikinya mungkin kita bisa mensponsori mereka?
waktu adalah uang :)

Jika setiap orang yang membutuhkan ini diperbaiki menyumbangkan sejumlah $
Saya kira itu akan menumpuk dan mungkin akan mempercepat perbaikan ini

ditolak hari ini electron 6.0.12 dan juga dengan 7.0.0

Aplikasi aplikasi Anda ditautkan ke framework non-publik berikut:

CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

cara kerjanya dengan Electron 5?

Saya memberi tahu Apple tentang aplikasi saya menggunakan elektron, dll. Dan menerima ini:

"Halo,

Terima kasih telah menyediakan informasi ini.

Terkait 2.5.1, aplikasi Anda menggunakan atau mereferensikan API non-publik berikut. Jika Anda tidak memiliki akses ke biner Anda atau tidak yakin bagaimana cara menghapus API yang dipermasalahkan, hubungi penyedia layanan Anda untuk dukungan teknis. "

Versi mas 3.0.0-beta.5 ditolak juga untuk aplikasi pribadi:

CAContext
CALayerHost
NSURLFileTypeMappings

Seminggu yang lalu, kami baru saja berhasil lulus audit apple menggunakan versi mas yang sama. Saya bertanya-tanya apakah file electron-v3.0.0-beta.5-mas-x64.zip lama dapat dibangun kembali di sisi server unduhan atau file zip tidak pernah dimodifikasi sementara Apple mengubah strategi api pribadi mereka atau keduanya? ada petunjuk kalian, karena ini benar-benar membuat frustrasi dan menjengkelkan.

Apple mengubah strategi api pribadi mereka
Saya telah melakukan pembaruan mingguan selama sebulan terakhir tanpa masalah

kita perlu memperbaikinya
sayangnya saya tidak memiliki keterampilan untuk memperbaikinya sendiri
Saya telah menggali dan sepertinya file-file ini memiliki panggilan api pribadi

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

dan inilah cara melakukan file patch :)
https://www.youtube.com/watch?v=QtXj9tt-RUE

sekarang kita hanya perlu menyiapkan lingkungan dev dan
coba hapus / komentari apis

terdengar mudah ..........

Saya juga mendapatkan masalah yang sama dengan 6.0.11 ketika mencoba membangun hyperspacedev / hyperspace :

Aplikasi Anda menyertakan versi SDK dari Electron yang melanggar Panduan Ulasan App Store. Versi Electron SDK yang Anda gunakan di aplikasi Anda mencoba menyembunyikan penggunaan API pribadi. Ini adalah pelanggaran Bagian 2.5.1 dari Panduan Ulasan App Store.

Ditemukan penggunaan kelas privat:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Saya tidak tahu apakah ini terkait, tapi menurut saya ini juga menyebabkan crash pada aplikasi juga dengan kesalahan "Operasi tidak diizinkan".

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 dapatkah Anda membantu kami dengan ini?
Saya melihat Anda telah melakukan hal serupa sebelumnya

@JCBystem dan semuanya. Saya akan sangat berhati-hati dalam mengubah apa pun hanya untuk melewati Apple. Pesan terbaru mereka mengatakan:

_ "Terus menggunakan atau menyembunyikan API non-publik dalam pengiriman aplikasi ini di masa mendatang dapat mengakibatkan penghentian akun Pengembang Apple Anda, serta penghapusan semua aplikasi terkait dari App Store." _

Saya tidak ingin melihat aplikasi saya yang lain disusupi, jadi saya berharap ada perbaikan resmi di masa mendatang (jika mungkin sama sekali).

Mungkin salah satu moderator / pengelola dapat meningkatkan ini (dan beri label ulang karena ini mempengaruhi Electron 6 dan Electron 7 juga, coba dengan 7.0.1 juga).

Saya baru saja mulai mengalami masalah yang sama. Aplikasi kami awalnya diterima sekitar sebulan yang lalu, tetapi upaya untuk mengirimkan pembaruan gagal.

Tidak yakin dengan versi Elektron yang tepat begitu saja, tetapi itu tergantung pada cordova-electron .

(Juga terima kasih @gurugeek karena telah memperhatikan hal ini di HN.)

Tampaknya Apple telah memasukkan lebih banyak API pribadi ke dalam daftar hitam mereka. Dan untuk memperjelas, semua API ini digunakan oleh Chromium.

@ buu700 sama -sama! Saya pikir ini adalah masalah yang cukup besar untuk semua yang menggunakan elektron secara langsung atau tidak langsung. Jadi semoga segera ada solusi (resmi).

Ya, akan konyol jika Electron secara efektif dihentikan di macOS begitu saja tanpa peringatan. Semoga ada cara realistis untuk mengatasi ini di Electron dan / atau Chrome, atau Apple bersedia bersikap fleksibel dengan ini.

fileport_makefd dan fileport_makeport API digunakan oleh mojo (perpustakaan IPC Chromium) dan tampaknya tidak mungkin untuk dihapus, tetapi tampaknya tidak muncul pada laporan terbaru jadi mungkin baik-baik saja menyimpannya untuk saat ini.

API CAContext dan CALayerHost telah digunakan oleh Chromium setidaknya sejak 5 tahun yang lalu, hanya ada beberapa tempat yang menggunakannya tetapi mereka berada dalam kode grafis inti, mungkin untuk menghapusnya tetapi kita harus mencari tahu apa yang sebenarnya mereka lakukan terlebih dahulu.

API NS seharusnya mudah dihapus:
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Slack telah diupdate baru-baru ini, bagaimana mereka lolos review, apakah ada yang tahu?
Screen Shot 2019-11-04 at 9 24 36 AM

Pembaruan @cyph yang saya kirimkan ditolak tiga hari yang lalu, dan sepertinya @gurugeek ditolak dua hari yang lalu, jadi saya kira Slack baru saja lolos?

Mozilla baru-baru ini menerbitkan tulisan yang bagus tentang mengapa mereka mulai menggunakan CALayer API yang tidak berdokumen di Firefox 69. TLDRnya adalah bahwa API pribadi ini memungkinkan mereka mendapatkan penggunaan baterai hingga 3x lebih baik di Firefox. Artikel tersebut juga menyebutkan bahwa Chrome menggunakan Core Animation API ini.

Masalah ini tidak memengaruhi saya secara langsung, juga tidak memahaminya. Tetapi saya pikir saya akan membagikan artikel di atas jika itu membantu Anda menyelesaikan akar penyebab masalah.

Adakah yang tertarik untuk memvalidasi biner Elektron untuk saya? Langganan Pengembang Apple saya telah kedaluwarsa dan saya tidak ingin repot membelinya lagi 😃.

Biner ini didasarkan pada build rilis 7.0.1 dengan simbol debugging:
https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL

Perubahan dapat ditemukan di mas-patch-remote-layer-7-0-x branch . Saat ini saya telah menonaktifkan semua panggilan yang dilaporkan kecuali untuk fileport_makefd dan fileport_makeport , jadi ada kemungkinan biner akan ditolak lagi.

@tokopedia
Kerja bagus!
akan mencoba mengupload dalam satu atau dua hari
perlu menyelesaikan beberapa perubahan diri saya terlebih dahulu :)

Terima kasih lagi!

melakukan scan dengan otool -ov seperti gula Apple
sebelum ada
CAConteks 1 klik
CALayerHost 1 hit
NSAccessibilityRemoteUIElement 3 klik
NSNextStepFrame 2 klik
NSThemeFrame 2 hit
NSURLFileTypeMappings 1 klik

lalu baru mas-patch-remote-layer-7-0-x build hade 0 hits :)
kelihatan bagus

sebelum
fileport_makeport 0 hit
fileport_makefd 0 klik
setelah
fileport_makeport 0 hit
fileport_makefd 0 hit

Menggunakan string alat lain Apple menyarankan saya mendapat satu pukulan
untuk CAContext
'Frame tidak memiliki konteks CAC yang valid maupun permukaan IOS yang valid.'
sepertinya pesan pengecualian atau serupa
tidak tahu seberapa pemilih Apple

sebelum
fileport_makeport 3 klik
fileport_makefd 2 klik
setelah
fileport_makeport 1 pukulan
fileport_makefd 0 hit

Aplikasi saya baru saja ditolak karena panggilan API pribadi (Electron v. 4.0.4). Apple menyarankan resolusi berikut:

"Untuk mengatasi masalah ini, harap hapus Electron SDK seluruhnya dari aplikasi Anda, atau revisi aplikasi Anda untuk menggunakan versi 3.0.0-beta.7, 2.0.8, 1.8.8, atau 1.7.16 dari Electron SDK. Sekali Anda telah membuat salah satu perubahan tersebut, kirimkan kembali biner Anda untuk ditinjau. "

Diturunkan ke 3.0.0-beta.7. Mari lihat apa yang terjadi...

"Untuk mengatasi masalah ini, harap hapus Electron SDK seluruhnya dari aplikasi Anda (saya terkejut membaca ini), atau revisi aplikasi Anda untuk menggunakan versi 3.0.0-beta.7, 2.0.8, 1.8.8, atau 1.7. 16 dari Electron SDK. Setelah Anda membuat salah satu perubahan tersebut, kirimkan kembali biner Anda untuk ditinjau. "

Ini terdengar mencurigakan seperti daftar putih yang ditargetkan dari versi Electron. Biarkan saya menggali dan melihat apa yang dapat saya temukan.

@ivandroid adalah pesan hari ini? Bisakah Anda juga memposting daftar panggilan API yang ditandai oleh Apple? Mungkin Apple memutuskan untuk lebih eksplisit dan memberi Anda setidaknya beberapa panduan. Kemarin adalah pesan yang jauh lebih sulit. @MarshallOfSound terima kasih telah melihat ini. Akan lebih baik untuk mengetahui apakah 3.0.0.-beta7 memenuhi persyaratan ini.

@ivandroid adalah pesan hari ini? Bisakah Anda juga memposting daftar panggilan API yang ditandai oleh Apple? Mungkin Apple memutuskan untuk lebih eksplisit dan memberi Anda setidaknya beberapa panduan. Kemarin adalah pesan yang jauh lebih sulit. @MarshallOfSound terima kasih telah melihat ini. Akan lebih baik untuk mengetahui apakah 3.0.0.-beta7 memenuhi persyaratan ini.

Ya, saya mendapat pesan penolakan hari ini.

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Jawaban yang sama dari banding

_Aplikasi Anda menyertakan versi SDK dari Electron yang melanggar Panduan Ulasan App Store. Versi Electron SDK yang Anda gunakan di aplikasi Anda mencoba menyembunyikan penggunaan API pribadi. Ini adalah pelanggaran Bagian 2.5.1 dari Panduan Ulasan App Store.

Catatan tambahan:

Untuk mengatasi masalah ini, harap hapus Electron SDK seluruhnya dari aplikasi Anda, atau revisi aplikasi Anda untuk menggunakan versi 3.0.0-beta.7, 2.0.8, 1.8.8, atau 1.7.16 dari Electron SDK. Setelah Anda membuat salah satu perubahan tersebut, kirim ulang biner Anda untuk ditinjau.

Kami berharap Anda mempertimbangkan untuk membuat perubahan yang diperlukan agar sesuai dengan Panduan Peninjauan App Store dan akan mengirimkan kembali biner Anda yang telah direvisi._

Hai teman-teman, saat ini juga mengalami masalah ini (pengiriman macOS pertama ke App Store, jadi saya tidak tahu harus berbuat apa dan hanya mendengarkan di sini ;-)).
Pesan di AppStore:

Panduan 2.5.1: Aplikasi hanya dapat menggunakan API publik.
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Saya menggunakan electron v4.2.10.

Saya mencoba dengan biner Electron yang @zcbenz diposting di https://github.com/electron/electron/issues/20027#issuecomment -549295886, masih mendapatkan surat penolakan yang sama seperti di bawah ini. Sepertinya Apple menolak berdasarkan versi 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

Build 3.0.0-Beta.7 telah ditolak. :(

Ditemukan penggunaan kelas privat:
CAContext
CALayerHost
NSURLFileTypeMappings

Juga menghadapi masalah ini saat ini, electron v4.2.6

Panduan 2.5.1 - Kinerja - Persyaratan Perangkat Lunak

Aplikasi Anda menggunakan atau mereferensikan API non-publik berikut:

CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Ada solusi resmi?

@thomasdao Menarik, sepertinya mereka bahkan tidak menandai API pribadi. Mereka baru saja menandai versi kerangka elektron. 🤔

@thomasdao apakah Anda memindai bangunan Anda sebelum mengirimkannya menggunakan 'otool -ov' dan string?

@ JCBsystem bagaimana Anda memindai build? Saya menggunakan Electron Builder dan tidak terlalu yakin file mana yang akan dipindai, saya mencoba dengan file .app dan .pkg dan perintah menunjukkan kesalahan.

Apa yang saya lakukan adalah mengunduh file biner elektron dari tautan yang diberikan @zcbenz , ganti dengan file lokal di folder node_modules lalu buat. Saya mungkin melewatkan beberapa langkah, jika Anda memiliki saran lain, beri tahu saya agar saya dapat mencoba lagi, terima kasih!

@tomasdao
buka konsol dari 'xxx.app/Contents/Frameworks/Electron \ Framework.framework / Versions / A'
lalu lari
otool -ov Electron \ Framework> ../../../../../../dump.txt
dan
string Electron \ Framework> ../../../../../../dump1.txt

buka file dump dan lakukan pencarian untuk kunci api

atau kirimkan saya aplikasinya dan saya akan mengujinya untuk Anda :)

@JCBsystem terima kasih atas instruksinya. File dump ada di https://drive.google.com/file/d/1POwnOX_jMcahUi4beBdo7viKjaeey8PY/view?usp=sharing , saya rasa masih berisi API pribadi. Mungkin hanya mengganti biner Electron di node_modules tidak benar-benar menghapus API pribadi di versi akhir. Jika Anda memiliki saran, saya dapat mencoba mengirimkannya kembali ke Apple.

@tomasdao
ya, kunci api masih ada
Sepertinya Anda tidak mendapatkan pengujian build di build Anda

tidak tahu cara menambahkan test build yang benar di build yoru MAS
mungkin @MarshallOfSound atau @zcbenz dapat memberitahu Anda

masih berpikir build baru dari zcbenz akan berfungsi

@ electron / get (melalui electron-packager atau alat serupa lainnya) mengunduh elektron membangun dari repositori resmi dan menyimpannya di ~ / Library / Caches / electron, apapun yang ditemukan di local node_modules / electron directory. Saya telah mengganti Electron.app yang di-cache dengan yang dari @zcbenz dan diambil untuk dikemas. (_note: arsip tambalan memiliki beberapa masalah, di mana beberapa folder yang seharusnya alias disertakan secara penuh dan beberapa kerangka kerja ada, yang biasanya tidak termasuk dalam build mas electron_).

Menjalankan otool pada paket yang dihasilkan tidak menandai API apa pun yang masuk daftar hitam, dan aplikasi itu sendiri lolos uji asap dasar. Saya telah mengirimkannya untuk pengujian Apple hari ini, meskipun patch resmi Electron oleh @zcbenz tampaknya sangat dekat dengan rilis resmi. Setidaknya kita bisa melihat apakah mereka benar-benar memeriksa binari untuk API tertaut atau jika mereka mencari versi Elektron.

Terima kasih banyak kepada @zcbenz untuk tambalan ini! 👍

@netop terima kasih untuk ini. Hanya untuk para pengembang JS biasa di sini, apa langkah-langkah yang harus dilakukan sebelum membangun kembali dan memeriksa paket sebelum pengiriman?
Langkah 1) unduh versi patch dari @zcbenz di https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL dan langkah 2, 3, 4 ..? :

Saya pikir ada PR untuk 5x cabang mungkin lebih baik menunggu itu dan menginstalnya melalui NPM?

@gurugeek pasti cara terbaik adalah menunggu patch Electron resmi.

Kebetulan aplikasi kami menghadapi masalah kritis yang merupakan insentif besar untuk mencobanya. Selain itu, ada permintaan di utas ini dari @zcbenz bagi seseorang dengan akun Apple Dev untuk menguji apakah tambalan tersebut benar-benar berfungsi.

Saya akan kembali ke sini dengan detail setelah tim peninjau Apple membalas.

@netop juga mau mencoba sebelum patch resmi. Hanya tidak bisa mengetahuinya (belum) jadi jika Anda tahu apa yang perlu saya ganti / periksa beri tahu saya.

Yah ... itu masih belum berfungsi sepenuhnya. Itu telah melewati daftar hitam sebelumnya, tapi sekarang mereka menandai ini:

__CFCopyServerVersionDictionary
__CFCopySystemVersionDictionary
__kCFSystemVersionBuildVersionKey
__kCFSystemVersionProductNameKey
__kCFSystemVersionProductVersionExtraKey
__kCFSystemVersionProductVersionKey

Tidak ada referensi ke metode fileport_* .

Saya tidak yakin apakah item itu hanya ada di build @zcbenz atau jika itu juga merupakan build Electron resmi, saya akan dapat memeriksanya nanti. Bisa jadi @zcbenz juga ditargetkan dmg dalam membangun, yang juga akan menjelaskan kerangka kerja tambahan termasuk dalam bundel (lihat berpotensi terkait ini masalah dan link di sana).

Saya hanya berharap Apple hanya akan memberikan daftar hitam / daftar putih API lengkap atau alat untuk memeriksa build, alih-alih memainkan trial-and-error ...

@netop Terima kasih telah menguji

Saya telah mengunggah ulang bangunan yang bersih, maaf atas masalah ini.
https://drive.google.com/file/d/1foCvpd2YuD7oEBFvwQwmubtdnS6_VIlN/view?usp=sharing

@zcbenz Saya akan mencoba lagi untuk mengemas dan mengirimkan - tetapi bisakah Anda memberikan izin untuk mengunduh versi yang diperbarui. Terima kasih banyak!

Juga, tampaknya simbol berasal dari crashpad_handler - jadi mungkin saya dapat menghapus file itu sendiri. Jika tidak, kerangka kerja tampaknya baik-baik saja ... 🤞

@netop Tautan unduhan seharusnya berfungsi sekarang. Selain crashpad_handler , Anda juga perlu menghapus Squirrel.framework dari bundel.

@zcbenz Terima kasih banyak atas dukungannya, saya menghapus Squirrel.framework terakhir kali, saya baru saja melewatkan crashpad_handler . Karena build baru Anda kali ini didasarkan pada 7.1.0 , saya akan tetap menggunakan build sebelumnya demi kenyamanan dan keamanan, dengan satu-satunya perubahan adalah modul pelakunya dihapus. Saya dapat menguji pembaruan 7.1.0 setelah itu, jika aplikasi disetujui.

Saya mengirimkan ASAP dan akan kembali dengan hasilnya setelah saya memilikinya.

Oke - jadi aplikasi diterima dan sekarang _Siap Dijual_. Terima kasih banyak kepada @zcbenz atas pembuatan kustomnya 🙏.

ada perkiraan waktu untuk patch resmi?

Terima kasih @zcbenz!

ada perkiraan waktu untuk patch resmi?

Anda dapat mengikuti https://github.com/electron/electron/pull/20965 tentang kemajuannya.

Saat ini karena menonaktifkan API lapisan jarak jauh dapat menurunkan kinerja secara signifikan, kami menunggu tanggapan dari Apple untuk melihat apakah mungkin untuk membuka blokir CAContext dan CALayerHost untuk kami, atau apakah ada cara yang lebih baik dari penambalan untuk menghindari pukulan kinerja.

Cara menggunakan @zcbenz mas ditambal build (hingga solusi yang lebih bersih tersedia)

Berdasarkan permintaan sebelumnya, berikut penjelasan tentang apa yang harus dilakukan untuk menggunakan patch @zcbenz dengan alat pengemasan aplikasi Anda.

Catatan awal : aplikasi kami dibuat untuk berbagai platform, salah satunya adalah Electron. Karena itu, kami memerlukan sedikit lebih banyak kontrol atas proses pengemasan, oleh karena itu gunakan electron-packager dan bukan electron-builder . Langkah-langkah berikut berlaku untuk pendekatan electron-packager , dengan build 7.0.1 . Namun, jika Anda menggunakan pembangun, seharusnya cukup mudah untuk menggunakan opsi konfigurasi umum electronDist untuk mencapai hasil yang sama. Selain itu, menggunakan versi 7.1.0 serupa, Anda hanya harus menyesuaikan instruksi yang sesuai.

Ini adalah urutan langkah yang saya lalui:

  1. Mendownload dan membersihkan paket Electron.app dari @zcbenz.

    Paket awal berbasis 7.0.1 memiliki beberapa kerangka kerja dan pustaka tambahan yang tidak diperlukan untuk mas (seperti Squirrel dan crash_pad), paket berbasis sini (berdasarkan versi 7.0.1 ) dan menggunakannya sebagaimana adanya, atau Anda dapat menggunakannya sebagai template.

  2. Konfigurasikan pengemas elektron untuk menggunakan Electron tertentu yang dibangun dan dijalankan satu kali

    Ini tergantung pada cara Anda menggunakan alat tersebut. Dalam kasus saya, saya menggunakan API dan bukan CLI, jadi saya telah menetapkan opsi electronVersion untuk menentukan 7.0.1 dalam kode. Jalankan pemaket - ini akan menggunakan @electron/get untuk mengunduh dan menyimpan versi resmi 7.0.1 Electron build (_note: Anda juga dapat menggunakan konfigurasi mirrorOptions , jika Anda ingin menjadi lebih mewah dan menghosting membangun kustom di suatu tempat - tetapi untuk perbaikan sementara ini saya tidak pergi ke sana) _. Setelah Anda menyiapkan ini, biarkan pembuat paket membuat bundel dengan build resmi - jangan mengunggahnya ke toko atau apapun. Pastikan itu menggunakan versi Electron yang ditentukan.

  3. Temukan dan ganti build Electron yang di-cache lalu jalankan kembali

    @electron/get menyimpan unduhan yang disimpan dalam cache di direktori ~/Library/Caches/electron . Biasanya, harus ada beberapa versi Electron yang diunduh di sana, cari versi yang digunakan untuk paket App Store 7.0.1 macOS. Nama subdirektori yang Anda cari harus httpsgithub.comelectronelectronreleasesdownloadv7.0.1electron-v7.0.1-mas-x64.zip dan harus berisi arsip zip dari electron build. Ganti arsip zip tersebut dengan build @zcbenz yang dibersihkan yang Anda peroleh di langkah 1 . Jalankan pengemas lagi - itu harus melewati unduhan resmi dan menggunakan versi cache yang baru saja Anda ganti.

  4. Periksa hasil untuk penggunaan API pribadi

    Gunakan otool seperti yang diinstruksikan oleh @thomasdao. Buka konsol dari xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A lalu jalankan

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

    kemudian cari output untuk simbol yang dimaksud, simbol tersebut seharusnya tidak muncul

    CAContext
    CALayerHost
    NSAccessibilityRemoteUIElement
    NSNextStepFrame
    NSThemeFrame
    NSURLFileTypeMappings
    

    Alternatifnya, jika Anda lebih nyaman dengan alat GUI, Anda dapat menggunakan MacDependency untuk membuat daftar dan mencari melalui simbol yang diimpor oleh Kerangka Elektron yang disertakan dengan xxx.app Anda.

    _Note: Dalam upaya awal saya sudah merindukan crash_pad modul di xxx.app\Contents\Frameworks\Electron Framework.framework\Versions\A\Resources" subdirektori, dan mendapat ditandai untuk penggunaan API swasta dari itu. Jadi, Anda mungkin ingin memeriksa ulang untuk yang satu itu dan memastikannya sudah dihapus pada langkah 1 ._

Itu saja - Anda sekarang dapat mengirimkan aplikasi Anda ke toko.

ada perkiraan waktu untuk patch resmi?

Anda dapat mengikuti # 20965 tentang kemajuannya.

Saat ini karena menonaktifkan API lapisan jarak jauh dapat menurunkan kinerja secara signifikan, kami menunggu tanggapan dari Apple untuk melihat apakah mungkin untuk membuka blokir CAContext dan CALayerHost untuk kami, atau apakah ada cara yang lebih baik dari penambalan untuk menghindari pukulan kinerja.

apakah mungkin untuk merilis ini sekarang dan ketika apple merespons atau Anda menemukan cara yang lebih baik untuk menambal
Anda melakukan pembaruan baru?
diperlukan beberapa waktu sebelum apel merespons

Apakah mungkin untuk merilis sebagai versi alpha atau beta sebelum Apple membalas?

+1 pada versi sementara alfa atau agar kita dapat dengan mudah menginstal dengan npm dan mengirimkan :) 💯

Terima kasih atas arahannya yang luar biasa @netop dan kerja cepatnya @zcbenz !

Telah mengikuti instruksi pagi ini, mengirimkan bangunan, dan disetujui malam ini! 👏👏 terima kasih lagi.

Terima kasih @zcbenz dan @netop ! Saya mengirimkan bangunan lebih awal hari ini dan telah disetujui!

Menggunakan versi electron-clean memang membantu menghapus Private-API, tetapi aplikasinya jauh lebih berat sekarang. Saat membangunnya dengan aplikasi versi resmi (7.0.1), ukuran aplikasi sekitar 60 MB tetapi dengan pembersihan elektron, ukurannya melonjak hingga 300 MB.
Apa yang dapat saya lakukan di sisi saya untuk memperkecil ukuran?

@ manish-patwal Cek posting di atas:

Cara menggunakan @zcbenz mas ditambal build (hingga solusi yang lebih bersih tersedia)

Dalam arsip asli dari @zcbenz beberapa item disertakan dua kali, alih-alih menggunakan alias. Anda dapat memperbaikinya secara manual atau menggunakan tautan unduhan yang disediakan di langkah # 1.

Disetujui hari ini! Terima kasih!

Apakah ada varian Electron 6 dari perbaikan ini yang tersedia? Kami mengalami masalah saat memuat konten Flash dengan versi bersih, lihat https://github.com/electron/electron/issues/20744 @netop @zcbenz

Aplikasi saya baru saja disetujui oleh apple. Ini menggunakan elektron 6.0.7.
Jadi apakah masalah ini hanya ada di versi 5.x, atau apakah Apple membuat penyesuaian lagi pada strategi deteksi api pribadi?

Saya menggunakan Electron 6 masih mengalami masalah

Solusi yang disebutkan di atas tidak berhasil untuk saya, saya mengalami masalah ketika saya mengganti file .zip itu, sepertinya ada checksum yang tidak cocok ?!

Bantuan sangat dihargai - kita perlu membawa aplikasi kita ke toko: - /

Halo @arshalla

@zcbenz mas build yang ditambal bekerja dengan sangat baik dan Apple menyetujui build yang menggunakannya. Bisakah kita memiliki beberapa perkiraan tentang kapan itu dapat diperbaiki pada rilis elektron yang akan datang. Terima kasih atas usaha dan dukungan Anda juga.

Salam
Ranjan

@ anh1979 Saya memiliki masalah yang sama dengan Anda, dan kemudian saya menguji dalam proyek sederhana baru ok, jadi saya kira ada masalah dengan versi electron-packager, saya menjalankan perintah lagi setelah memperbarui electron-packager ke terbaru tidak apa-apa.
@netop Terima kasih banyak atas bagian Anda.

@zcbenz @netop

Ada berita tentang ini?

Saya menggunakan Electron 6.x dan dan electron-builder. Kami memerlukan solusi "anti peluru", karena jika Apple menolak aplikasi tersebut, reputasi akun perusahaan terkait akan menurun, dan ini tidak baik.

Apa status saat ini?

Saya menggunakan pembangun elektron 21.2.0 dan elektron 6.1.5 mendapatkan pesan penolakan ini
Aplikasi Anda menggunakan atau mereferensikan API non-publik berikut:

Penggunaan kelas privat:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

"Melanjutkan menggunakan atau menyembunyikan API non-publik dalam pengiriman aplikasi ini di masa mendatang dapat mengakibatkan penghentian akun Pengembang Apple Anda, serta penghapusan semua aplikasi terkait dari App Store."

saya telah membaca semua komentar dan pesan, tetapi tidak tahu bagaimana menggunakan PATCH @zcbenz di Proyek saya. Saya benar-benar bingung dan khawatir bagaimana menyelesaikannya.

jika kalian Bantu saya, itu akan sangat berterima kasih

Saya juga mendapatkan ini sekarang untuk pertama kalinya (aplikasi kami benar-benar lulus ulasan pada bulan September).

Panduan 2.5.1 - Kinerja - Persyaratan Perangkat Lunak

Aplikasi Anda menyertakan versi SDK dari Electron yang melanggar Panduan Ulasan App Store. Versi Electron SDK yang Anda gunakan di aplikasi Anda mencoba menyembunyikan penggunaan API pribadi. Ini adalah pelanggaran Bagian 2.5.1 dari Panduan Ulasan App Store.

Ditemukan penggunaan kelas privat:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings

Panduan 2.5.1: Aplikasi hanya dapat menggunakan API publik.

Langkah selanjutnya

Untuk mengatasi masalah ini, harap hapus Electron SDK seluruhnya dari aplikasi Anda, atau revisi aplikasi Anda untuk menggunakan versi Electron SDK yang telah diperbaiki.

Menunggu patch disetujui: https://github.com/electron/electron/pull/20965 :)

dengan build patch, saya tidak berhasil menyelesaikan _rebuild_. Dependensi saya adalah SQLite3 dan ffmpeg.
Di bawah ini adalah hasil logging-

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

Harap perbaiki saya jika saya salah.

Bisakah kita sekarang mengganti versi elektron di package.json dengan ini:

"electron": "github:electron/electron#938cc461e794a5771fccc843fd8ce8690e0501bb"
mendapatkan versi yang diperbaiki?

Atau mungkin ini:

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

@tokopedia
saya rasa jika Anda membangun seperti itu Anda mungkin menyertakan lebih banyak libs yang tidak diperbolehkan di MAS
jika Anda melakukannya, pastikan untuk memindai yang Anda buat sebelum mengirimkan dan juga mencari lib yang tidak diinginkan lainnya, lihat komentar https://github.com/electron/electron/issues/20027#issuecomment -551067242

@tokopedia

Ada pembaruan? Versi elektron mana yang harus saya gunakan untuk memastikan persetujuan Apple?
Tampaknya bahkan aplikasi dengan elektron 6.1.5 ditolak ..

Adakah yang bisa memberi tahu saya versi mana yang harus digunakan? Atau menggunakan custom build (seperti dijelaskan di atas) adalah satu-satunya cara untuk saat ini?

Terima kasih sebelumnya!

@gtamas Pembuatan kustom adalah satu-satunya cara sekarang, sampai perbaikan disetujui (seperti yang saya tahu).

@ravijethvaaphp baca # 20027 (komentar)

Apakah ada build untuk diunduh untuk electron 6?
karena beberapa plugin tidak mendukung Electron 7 In My Project
ada yang punya link seperti komentar di atas yaitu https://github.com/electron/electron/issues/20027#issuecomment -551913031

Kurangnya respon dari tim Electron terkait masalah yang meluas ini membuat kami serius mempertimbangkan kembali penggunaan Electron untuk aplikasi platform kami.

(Saya bukan pelaku dalam proyek ini) Pernahkah Anda melihat catatan perubahan / rilis v8? Aku melakukannya.

Lebih penting lagi, filosofi open-source adalah: jadilah perubahan yang ingin Anda lihat, buka kap mesin. Linus akan berkata: DIY. Silakan kirimkan PR untuk dokumen, sumber, dll.

@cekvenich perubahan apa di v8?
v8 masih memiliki api pribadi di dalamnya

Kami belum mendapatkan solusi dari Apple sejauh ini, jadi kami memutuskan untuk hanya menggabungkan perbaikan untuk 5.x dan 6.x untuk saat ini.

Ini adalah tindakan sementara untuk memungkinkan orang merilis di Mac App Store, namun ini menghasilkan regresi kinerja yang signifikan dan kami sedang mencari penyelesaian dengan Apple untuk versi Electron yang akan datang yang tidak mengganggu kinerja aplikasi Electron.

@zcbenz Terima kasih atas pembaruannya.

Apakah regresi kinerja akan memengaruhi aplikasi yang sudah menonaktifkan akselerasi perangkat keras (dengan app.disableHardwareAcceleration API Electron)?

@tokopedia

Kabar baik, terima kasih!

jadi kami telah memutuskan untuk hanya menggabungkan perbaikan untuk 5.x dan 6.x untuk saat ini.

Mengapa tidak untuk 7.x?

Apakah regresi kinerja akan memengaruhi aplikasi yang sudah menonaktifkan akselerasi perangkat keras (dengan app.disableHardwareAcceleration API Electron)?

Tidak ada regresi kinerja untuk aplikasi yang menonaktifkan akselerasi hardware.

Mengapa tidak untuk 7.x?

Karena ini bukanlah perbaikan yang nyata, dan tim memutuskan untuk tidak memilikinya di stabil terbaru kami kecuali tidak ada pilihan lain.

Apple akan menghentikan aplikasi berbasis web seperti Electron pada akhirnya?

Kami belum mendapatkan solusi dari Apple sejauh ini, jadi kami memutuskan untuk hanya menggabungkan perbaikan untuk 5.x dan 6.x untuk saat ini.

Ini adalah tindakan sementara untuk memungkinkan orang merilis di Mac App Store, namun ini menghasilkan regresi kinerja yang signifikan dan kami sedang mencari penyelesaian dengan Apple untuk versi Electron yang akan datang yang tidak mengganggu kinerja aplikasi Electron.

@tokopedia
Kapan perbaikan akan dipublikasikan ke npm, dan apakah perbaikan ini akan memengaruhi kinerja build non-mas

Solusi yang disebutkan di atas tidak berhasil untuk saya, saya mengalami masalah ketika saya mengganti file .zip itu, sepertinya ada checksum yang tidak cocok ?!

Bantuan sangat dihargai - kita perlu membawa aplikasi kita ke toko: - /

Hai @ anh1979 , apakah Anda berhasil melewati masalah checksum. Saya juga menerima kesalahan yang sama dari electron-packager / cli:

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


LARUTAN:
Saya mengirimkan bendera berikut ke electron-packager/cli.js

--download.disableChecksumSafetyCheck = true

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

@jmcrthrs : Ya, saya harus mengupdate electron packager ke versi terbaru, lalu mencoba lagi dan saya bisa melanjutkan. Tetapi saya mengalami masalah lain saat itu, ada yang salah dengan hak.

Apakah itu berarti versi 5/6 dapat disetujui oleh Mac App Store?

Bisa membuat Apple menyetujui aplikasi kami dengan 6.1.7

Saya juga mendapat persetujuan dari Apple setelah memperbarui ke Electron v5.0.13.

@mytran @ jarek-foksa Jadi aplikasi Anda disetujui meskipun memiliki API pribadi? Anda tidak perlu menggunakan pekerjaan yang dirinci di sini: https://github.com/electron/electron/issues/20027#issuecomment -551913031

@jmcrthrs Versi 5.0.13 dan 6.1.7 dirilis baru-baru ini dan sudah menyertakan patch MAS. Tidak ada solusi atau langkah tambahan yang diperlukan.

@jaiek- fenz

Kabar baik, terima kasih! Jadi, meningkatkan ke 6.1.7 sepenuhnya menghilangkan risiko penolakan oleh Apple, bukan? Maksud saya, ini rilis resmi dan segalanya.

@zcbenz menyebutkan bahwa ini tidak mungkin dilakukan dengan Electron 7, karena "ini bukan perbaikan yang nyata". Itu sebabnya saya agak bingung. Jadi apakah aman untuk menggunakan ini atau haruskah kita menunggu "perbaikan nyata"? Apakah itu akan dirilis dalam waktu dekat?

@gtamas Ya, saya sekarang telah berhasil menerbitkan dua aplikasi berbeda menggunakan Electron 5.0.13 di Mac App Store. Proses pengajuan lancar, saya tidak menerima keluhan apa pun dari Apple. Electron 6.1.7 juga harus baik-baik saja karena memiliki tambalan yang sama.

Sejauh ini saya belum melihat adanya regresi kinerja yang signifikan, meskipun salah satu aplikasi saya adalah editor SVG yang semuanya tentang manipulasi objek grafis di layar.

@ jarek-foksa Anda mungkin tidak melihat hal-hal seperti FPS turun tetapi patch yang dihasilkan memicu jalur kode yang membutuhkan lebih banyak sumber daya yang berpotensi menghabiskan lebih banyak daya (menguras baterai Anda lebih cepat)

@MarshallOfSound Saya bertanya-tanya, apakah itu sesuatu yang terlihat dari sisi tab kinerja chrome, atau nanti di jalur, di luar ruang lingkup

Anda mungkin tidak dapat melihatnya dari dalam alat kinerja Chromes sendiri.

Menggunakan kebiasaan membangun dengan @zcbenz mendapat aplikasi v7.x saya disetujui dan siap untuk dijual. Saya tidak melihat kinerja yang berhasil.

Jadi apa solusi saat ini untuk Electron 7+? Menunggu pembaruan? Turunkan ke 5,6?

@gtamas Ya, saya sekarang telah berhasil menerbitkan dua aplikasi berbeda menggunakan Electron 5.0.13 di Mac App Store. Proses pengajuan lancar, saya tidak menerima keluhan apa pun dari Apple. Electron 6.1.7 juga harus baik-baik saja karena memiliki tambalan yang sama.

Sejauh ini saya belum melihat adanya regresi kinerja yang signifikan, meskipun salah satu aplikasi saya adalah editor SVG yang semuanya tentang manipulasi objek grafis di layar.

Bisakah kami versi pembangun elektron mana yang Anda gunakan? Apakah perlu modifikasi untuk membuatnya?

@msavin Saya menggunakan electron-builder versi 21.2.0, saya tidak ingat pernah melakukan modifikasi apapun.

Ada berita disini?
atau masih "elektron": "6.1.7", yang akan digunakan?

@MarshallOfSound @zcbenz

Apple masih menolak aplikasi yang menggunakan build Electron 7 dan 8 MAS resmi karena penggunaan CAContext dan CALayerHost .

Saya tidak mengerti alasan di balik keputusan untuk tidak menambal rilis yang lebih baru. Rakitan MAS dengan kinerja baterai yang buruk selalu lebih baik daripada bangunan MAS dengan kinerja baterai yang baik yang pada dasarnya tidak berguna karena tidak dapat dipublikasikan di toko aplikasi.

Saya kira asumsi awalnya adalah bahwa Apple akan segera memberikan solusi dengan memasukkan kedua API tersebut ke daftar putih, tetapi setelah 3 bulan saya rasa aman untuk berasumsi bahwa mereka tidak bersedia melakukan itu.

Selain itu, rilis Electron baru tersebut memperkenalkan perbaikan untuk beberapa bug kritis (seperti pencetakan rusak ). Saat ini saya menggunakan rilis Electron 5.x yang ditambal dan sejauh ini saya telah menerima beberapa keluhan tentang pencetakan yang rusak, tetapi tidak ada pengguna saya yang mengeluh tentang penggunaan baterai.

Saya juga berharap Electron 8 dapat ditambal. Ini memiliki fitur pemeriksa ejaan baru yang memecahkan masalah besar di Elektron lama. Dan saya kira jika ada perubahan di masa depan, tambalan itu dapat dikembalikan sehingga tidak permanen.

Saya mendapatkan kesalahan berikut dari Apple dengan Electron 6.1.7:

Panduan 2.5.1 - Kinerja - Persyaratan Perangkat Lunak

Aplikasi Anda menyertakan versi SDK dari Electron yang melanggar Panduan Ulasan App Store. Versi Electron SDK yang Anda gunakan di aplikasi Anda mencoba menyembunyikan penggunaan API pribadi. Ini adalah pelanggaran Bagian 2.5.1 dari Panduan Ulasan App Store.

dan

Pedoman 2.5.1 - Kinerja

Aplikasi aplikasi Anda ditautkan ke framework non-publik berikut:

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

Ini adalah sekumpulan daftar hitam API lainnya. Tampaknya Apple memutuskan untuk menghentikan aplikasi elektron. 😱

Saya mendapatkan kesalahan berikut dari Apple dengan Electron 6.1.7:

Panduan 2.5.1 - Kinerja - Persyaratan Perangkat Lunak

Aplikasi Anda menyertakan versi SDK dari Electron yang melanggar Panduan Ulasan App Store. Versi Electron SDK yang Anda gunakan di aplikasi Anda mencoba menyembunyikan penggunaan API pribadi. Ini adalah pelanggaran Bagian 2.5.1 dari Panduan Ulasan App Store.

dan

Pedoman 2.5.1 - Kinerja

Aplikasi aplikasi Anda ditautkan ke framework non-publik berikut:
_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary

@gaod
lihat link yang saya posting di atas.
dia mengirimkan bangunan kotor dengan dmg di dalamnya dan mendapatkan 2.5.1 yang sama
lihat tanggalnya.

saya harap ini hanya kesalahan pembuatan oleh buu700

API tersebut adalah semua API yang pernah kami perbaiki, mereka tidak menggunakan mas build dengan benar. Ini kesalahan pengguna, bukan lebih banyak API yang harus kami perbaiki

Terima kasih atas balasan cepat @JCBsystem. Dapatkah Anda menjelaskan apa yang Anda maksud dengan "bangunan kotor dengan dmg di dalamnya"? Bagaimanapun, saya akan menghapus ~/Library/Caches/electron sesuai posting itu dan mencoba lagi.

Saya tidak yakin apa yang Anda sarankan tentang kesalahan pengguna ada di sini @MarshallOfSound. Apakah ada langkah lain yang diharapkan selain menjalankan mas build dan mengirimkan file pkg yang dihasilkan?

@ buu700 Saya mengatakan Anda tidak menggunakan bangunan mas . Perkakas apa pun yang Anda gunakan tidak menggunakan build Elektron mas karena daftar simbol itu pada dasarnya adalah pelajaran sejarah di semua simbol yang telah kami hapus di masa lalu.

Ah, terima kasih, ini mungkin masalah kordova-elektron.

@JCBsystem @MarshallOfSound Saya diberitahu oleh @erisu di https://github.com/apache/cordova-electron/issues/140 untuk berbagi dihasilkan file elektron-builder config dari platforms/electron/build/builder-effective-config.yaml (disalin di bawah ini). Apakah itu membantu?

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

@bayu_joo
coba hapus

  • target: dmg
    lengkungan:
    - x64

Baiklah, saya baru saja mengirimkan build baru ke App Store (konfigurasi dibuat ulang di bawah). Semoga sukses!

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

Tidak ada dadu.

Pedoman 2.5.1 - Kinerja

Aplikasi aplikasi Anda ditautkan ke framework non-publik berikut:

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

(Daftar kerangka kerja non-publik sedikit berbeda dari 6 hari yang lalu, jika itu penting.)

@bayu_joo

dapatkah Anda memposting tautan ke bangunan Anda?

Oke, Anda bisa mendownloadnya di sini .

@bayu_joo

Anda memiliki "app.asar.unpacked" termasuk dalam folder sumber daya Anda.
Ada sebuah electron.app di dalamnya, itulah yang memicu peringatan API

hapus "app.asar.unpacked" dan coba lagi
sebelum mengirimkan cek dubble Anda aplikasi
buka aplikasi dan arahkan ke folder sumber daya lihat pic.

lihat gambar disini
https://imgur.com/a/dYWxq5d

Terima kasih @JCBsystem! Saya akan mempertimbangkan untuk menghapusnya hari ini; sepertinya itu adalah masalah Cordova.

@JCBsystem @MarshallOfSound @erisu

Kabar baik! Pembaruan saya baru saja diterima!

Tampaknya app.asar.unpacked dihasilkan oleh toolchain build Electron. Saya tidak tahu titik mana itu dihasilkan, tetapi saya akhirnya harus menambal app-builder-lib sebagai solusi sementara:

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

Yang membuat saya bingung adalah bagaimana tampaknya tidak ada orang lain yang mengalami masalah ini, mengingat sejauh yang saya tahu ini adalah bug Electron jalan yang menyenangkan. Apakah mungkin ada sesuatu yang dilakukan Cordova (atau aplikasi saya) secara berbeda yang dapat menyebabkan app.asar.unpacked dibuat secara tidak terduga (atau diisi secara tidak terduga dengan modul electron )?

app.asar.unpacked sama sekali tidak terkait dengan kesalahan ini, menghapusnya sebenarnya akan membuat bagian dari aplikasi Anda tidak dapat digunakan. Masalah Anda adalah karena menggunakan build darwin / mas yang salah, mungkin beberapa perubahan lain yang Anda buat dalam skrip build memperbaiki masalah yang mendasarinya, tetapi menghapus folder yang belum dibuka akan berdampak 0 positif dan akan merusak sebagian besar aplikasi

tapi ada 2 aplikasi Electron di aplikasinya
satu di sana tempat normal
dan satu di app.asar.unpacked.

itu tidak benar

@JCBsystem Maaf jika saya tidak jelas, saya mengatakan masalah mereka tidak terkait dengan # 20027 (masalah saat ini yang kami hadapi). Sistem build mereka salah mengemas aplikasi mereka baik menggunakan atau secara tidak sengaja menyertakan versi Electron non-mas dan memiliki informasi / solusi di utas ini adalah konteks yang buruk bagi orang yang membaca utas ini di masa mendatang. Saya hanya menjelaskan bahwa karena masalah mereka benar-benar berbeda, solusi apa pun yang mereka rujuk tidak akan menyelesaikan masalah ini.

app.asar.unpacked sama sekali tidak terkait dengan kesalahan ini, menghapusnya sebenarnya akan membuat bagian dari aplikasi Anda tidak dapat digunakan.

Ah, terima kasih, senang mengetahuinya. Akankah menghapus app.asar.unpacked/node_modules/electron/dist/Electron.app menyebabkan masalah?

Masalah Anda karena menggunakan build darwin / mas yang salah

Bisakah Anda lebih spesifik? Anda telah mengatakan ini beberapa kali dan saya tidak mengerti jenis bangunan mas apa yang Anda sarankan untuk saya gunakan. Apakah konfigurasi build terlihat salah?

mungkin beberapa perubahan lain yang Anda buat dalam skrip build memperbaiki masalah yang mendasarinya, tetapi menghapus folder yang telah dibuka akan berdampak 0 positif dan akan merusak sebagian besar aplikasi

Tidak yakin harus memberi tahu Anda apa, secara harfiah tidak ada perubahan lain. Itu lolos dengan app.asar.unpacked dihapus dan gagal sebaliknya.

Ah, terima kasih, senang mengetahuinya. Apakah hanya menghapus app.asar.unpacked / node_modules / electron / dist / Electron.app yang menyebabkan masalah?

Mungkin tidak jika Anda menghapus _just_ aplikasi itu, tetapi Anda harus mencari tahu mengapa itu ditempatkan di sana daripada meretasnya.

Bisakah Anda lebih spesifik? Anda telah mengatakan ini beberapa kali dan saya tidak mengerti jenis bangunan mas apa yang Anda sarankan untuk saya gunakan. Apakah konfigurasi build terlihat salah?

Konfigurasi build tampak benar tetapi seperti yang saya katakan either using or accidentally including the non-mas version of Electron . Dalam hal ini Anda "menyertakan" versi non-mas dari Electron secara tidak sengaja di folder itu, meskipun konfigurasi build Anda menargetkan mas secara default, paket electron npm akan menggunakan darwin normal app.asar.unpacked .

Anda harus mencari tahu mengapa paket electron npm itu termasuk dalam app.asar.unpacked tapi itu
harus diselesaikan dari utas masalah ini, kami telah keluar dari topik di sini 😄

Oke, terima kasih telah menjelaskannya! Jadi beberapa modul node dalam folder itu pasti dibutuhkan saat run-time, tetapi biasanya hanya electron ?

Dalam hal ini, saya pikir kami telah mempersempit apa yang perlu diperbaiki Cordova (serta peningkatan untuk solusi hacky saya). Saya akan melaporkan ini di utas masalah kordova-elektron.

Maaf jika ini dijawab di tempat lain, tetapi:

Apakah Electron versi 7.x, 8.x, dan 9.x juga merupakan pengguna API pribadi yang bermasalah? Atau apakah ada pembaruan di versi terbaru Electron untuk mengatasi masalah ini?

Saya bertanya karena saya mencoba mencari tahu apakah lebih banyak pekerjaan untuk membatalkan perubahan API yang melanggar yang saya buat dan kembali ke Electron 5.x, atau apakah saya bisa mendapatkan versi Electron yang lebih baru yang juga diperbaiki.

@briandk 8.0.2 dan v9.0.0-beta.3 dirilis kemarin dan catatan rilis menyebutkan perbaikannya, jadi versi tersebut seharusnya bagus untuk toko aplikasi. Saya tidak percaya rilis v7 telah datang dengan perbaikan, tapi saya berasumsi yang berikutnya (jadi apa pun> 7.1.13 ) akan memilikinya, karena PR telah diporting ke cabang v7.

Saya baru saja merilis losslesscut aplikasi saya dengan electron 8.2.0 dan dapat mengonfirmasi bahwa saya tidak mendapatkan masalah API pribadi selama peninjauan.

Sobat tiket tahukah kalian, apakah ada cara untuk menggunakan modul autoUpdater pada build MAS? Mungkin pertanyaan ini terkait dengan pembahasan saat ini.

@kalachevmax Mac App Store harus menangani pembaruannya sendiri. Tanpa aplikasi Electron yang otomatis memperbarui dirinya sendiri. Meskipun demikian, mungkin ada cara untuk melakukan keduanya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

christiangenco picture christiangenco  ·  3Komentar

feross picture feross  ·  3Komentar

diracdeltas picture diracdeltas  ·  3Komentar

wsangtoki picture wsangtoki  ·  3Komentar

dangan-ronpa picture dangan-ronpa  ·  3Komentar