Periksa konfigurasi pembangunan
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sebelum Capgo Cloud Build mengunggah proyek Anda, CLI menjalankan pemeriksaan awal yang menangkap masalah kredit, proyek, dan konfigurasi toko secara lokal.
Juga menjalankan secara mandiri:
npx @capgo/cli@latest build prescan <appId> --platform iosAda 80 pemeriksaan hari ini. Lebih baik mengabaikan ID pemeriksaan individu daripada mematikan skenario pemeriksaan secara keseluruhan.
Abai khusus pemeriksaan
Bagian berjudul โAbai khusus pemeriksaanโ# Skip one check entirely (example: intentional Capacitor server.url / Next.js shell)npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shipped
# Run the check but never block on it (error becomes warning)npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-warn ios/capacitor-server-url-shipped
# Repeatable or comma-separatednpx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shipped \ --prescan-warn ios/capacitor-allow-navigation-wildcard,ios/plist-ats-arbitrary-loadsAlias berdiri sendiri aktif build prescan:
npx @capgo/cli@latest build prescan <appId> --platform ios \ --skip ios/capacitor-server-url-shipped \ --warn ios/capacitor-server-cleartextID cek tidak diketahui gagal dengan cepat dengan pesan kesalahan yang jelas.
Penggunaan global (gunakan dengan hati-hati)
Judul Bagian: โPenggunaan Global (Gunakan dengan Bijak)โ| Flag | Pengaruh |
|---|---|
--no-prescan | Lebihkan Sken Semua |
--prescan-ignore-fatal atau --ignore-fatal Pada build prescan) | Sken, cetak laporan, tidak pernah menghalangi |
--fail-on-warnings | Tangani peringatan sebagai fatal (CI) |
--no-prescan dan --prescan-ignore-fatal sembunyikan atau menghindari semua periksa lainnya. Gunakan pengaturan per-periksaan jika Anda hanya tidak setuju dengan satu aturan.
Periksa katalog
Judul bagian โPeriksa katalogโPakai id yang tepat di --prescan-skip / --prescan-warn.
Mengenakan secara bertahap berarti temuan hanya berupa informasi sampai 2026-08-14, kemudian dapat menghambat pembangunan.
Berbagi
Judul bagian โBerbagiโ| Id | Platform | Apa yang diperiksa | Mengenakan secara bertahap |
|---|---|---|---|
shared/apikey-permission | iOS, Android | Kunci API dapat meminta bangun native | โ |
shared/app-exists | iOS, Android | Aplikasi id ada dan terlihat untuk kunci API | โ |
shared/credentials-saved | iOS, Android | Kredensial iOS/Android yang diperlukan disimpan secara lokal | โ |
shared/cap-sync-stale | iOS, Android | Aset web dibangun dan plugin Capacitor disinkronkan | โ |
shared/node-linker-layout | iOS, Android | Tata letak node_modules bekerja dengan jalur native Capacitor | โ |
shared/bundle-id-consistency | iOS, Android | ID aplikasi Capacitor sesuai dengan ID paket native / applicationId | โ |
| Id | Platform | Apa yang dicek | Menggunakan secara bertahap |
|---|---|---|---|
ios/p12-opens | ios | iOS .p12 dapat dibuka dengan kata sandi yang disediakan | โ |
ios/p12-expiry | ios | Sertifikat tanda tangan iOS tidak kadaluarsa | โ |
ios/profile-expiry | ios | Profil pengaturan tidak kadaluarsa | โ |
ios/profile-bundle-match | iOS | ID bundle profil provisioning aplikasi sesuai | โ |
ios/profile-type-vs-mode | iOS | Jenis profil sesuai dengan mode app_store / ad_hoc | โ |
ios/cert-profile-pairing | iOS | Sertifikat terintegrasi dalam profil provisioning | โ |
ios/targets-covered | iOS | Semua target iOS memiliki profil provisioning | โ |
ios/infoplist-sanity | iOS | Info.plist memiliki kunci versi / identitas yang diperlukan | โ |
ios/asc-key-valid | iOS | Kunci API App Store Connect terlihat valid | โ |
ios/asc-key-access | iOS | ASC API dapat mengakses aplikasi (jarak jauh) | โ |
ios/plist-bundle-id-format | iOS | Format CFBundleIdentifier adalah valid | Ya |
ios/plist-version-short-format | iOS | Format CFBundleShortVersionString adalah valid | Ya |
ios/plist-version-build-format | iOS | Format CFBundleVersion adalah valid | Ya |
ios/plist-encryption-compliance | iOS | Apa itu ITSAppUsesNonExemptEncryption yang dideklarasikan? | Ya |
ios/plist-ats-arbitrary-loads | ios | NSAllowsArbitraryLoads tidak diaktifkan untuk produksi | Ya |
ios/plist-launch-storyboard | ios | Apakah layar peluncuran dideklarasikan? | Ya |
ios/plist-orientations-multitasking | ios | Konfigurasi orientasi / multitasking konsisten? | Ya |
ios/plist-orientations-present | ios | Orientasi Antarmuka yang Dapat Dibantu oleh UI telah Dideklarasikan | Ya |
ios/plist-display-name | ios | Nama Tampilan telah Ditetapkan | Ya |
ios/plist-background-modes-sanity | ios | Nilai Mode Latar Belakang UI terlihat Sah | Ya |
ios/xcode-deployment-target-capacitor | ios | Target Pengembangan iOS memenuhi Persyaratan Capacitor | Ya |
ios/xcode-signing-team | ios | Tim pengesahan telah ditetapkan | Ya |
ios/xcode-bundle-id-mismatch-across-configs | iOS | ID aplikasi konsisten di konfigurasi Xcode | Ya |
ios/xcode-enable-bitcode-leftover | iOS | ENABLE_BITCODE yang tersisa dihapus | Ya |
ios/xcode-swift-version-sanity | iOS | Pengaturan versi Swift terlihat wajar | Ya |
ios/xcode-no-app-target | iOS | Projek Xcode memiliki target aplikasi | Ya |
ios/xcode-multiple-app-targets | ios | Target aplikasi beberapa aplikasi dihandle secara sengaja | Ya |
ios/entitlements-vs-profile-capability | ios | Entitlements cocok dengan kemampuan profil | Ya |
ios/entitlements-aps-environment-vs-mode | ios | aps-environment cocok dengan mode distribusi | Ya |
ios/entitlements-associated-domains-format | ios | Format Domain Terkait Sah | Ya |
ios/entitlements-app-groups-format | ios | Format App Groups Sah | Ya |
ios/capacitor-server-url-shipped | ios | server.url tidak dibiarkan sebagai endpoint reload hidup / shell remote untuk pembangunan toko | Ya |
ios/capacitor-server-cleartext | ios | server.cleartext tidak diaktifkan untuk produksi | Ya |
ios/capacitor-allow-navigation-wildcard | ios | server.allowNavigation bukanlah wildcard umum | Ya |
ios/pods-not-installed | iOS | Pod CocoaPods / workspace ada ketika menggunakan Pods | Ya |
ios/pods-lock-missing | iOS | Podfile.lock memasang versi pod | Ya |
ios/pods-capacitor-missing | iOS | Podfile menghubungkan Capacitor | Ya |
ios/spm-package-resolved-missing | iOS | Paket SPM terresolusi ada | Ya |
ios/spm-capacitor-dependency-missing | iOS | Paket Swift menyatakan Capacitor | Ya |
ios/appicon-empty-or-placeholder | iOS | AppIcon.appiconset ada dan tidak kosong | Ya |
ios/appicon-referenced-file-missing | iOS | File ikon Contents.json ada di disk | Ya |
ios/appicon-marketing-missing | iOS | ikon pemasaran 1024ร1024 ada | Ya |
ios/spm-deployment-target-consistency | iOS | Tujuan pengembangan SPM konsisten | Ya |
Android
Judul bagian โAndroidโ| ID | Platform | Apa yang dicek | Menggunakan secara bertahap |
|---|---|---|---|
android/keystore-opens | android | Android keystore dibuka dengan kata sandi yang disediakan | โ |
android/keystore-expiry | android | Sertifikat tanda tangan Android tidak kedaluwarsa | โ |
android/cordova-vars-present | android | cordova.variables.gradle ada setelah cap sinkronisasi | โ |
android/gradle-props-heuristics | android | Heuristik gradle.properties untuk gangguan konstruksi umum | โ |
android/play-sa-json | android | JSON akun layanan Play ada ketika dikonfigurasi | โ |
android/flavor-exists | android | Rasa produk flavor yang diminta ada | โ |
android/agp8-package-attr | android | Manifest package= atribut dihapus untuk AGP 8+ | โ |
android/manifest-well-formed | Android | AndroidManifest.xml diproses | โ |
android/manifest-tag-typo | Android | Penyebab umum kesalahan tag manifest | โ |
android/manifest-namespace-uri | Android | URI namespace xmlns:android benar | โ |
android/manifest-missing-prefix | Android | Atribut Android menggunakan prefix android: | โ |
android/manifest-exported-missing | Android | android:exported diatur di mana diperlukan | โ |
android/manifest-multiple-uses-sdk | Android | Hanya satu elemen sdk yang digunakan | โ |
android/manifest-duplicate-component | android | Tidak ada komponen duplikat | โ |
android/manifest-unique-permission | android | Izin khusus adalah unik | โ |
android/manifest-hardcoded-debuggable | android | debuggable=true tidak dikirimkan | โ |
android/manifest-mock-location | android | ACCESS_MOCK_LOCATION tidak dikirimkan | โ |
android/manifest-exported-unprotected | android | Komponen yang diekspor dilindungi | โ |
android/manifest-query-all-packages | android | QUERY_ALL_PACKAGES alasan | โ |
android/manifest-deeplink-valid | android | Link akses dalam aplikasi tampak valid | โ |
android/applicationid-present | android | ID aplikasi telah dideklarasikan di app/build.gradle | โ |
android/capacitor-build-gradle-applied | android | capacitor.build.gradle ada ketika diterapkan | โ |
android/gradle-wrapper-present | android | File wrapper Gradle ada | โ |
android/flavor-dimensions | android | Dimensi rasa telah dideklarasikan ketika rasa ada | โ |
android/google-services-file | android | ada google-services.json ketika plugin diterapkan | โ |
android/local-properties-committed | android | local.properties tidak dikomitkan dengan rahasia | โ |
android/sdk-floors | android | tingkat min/compile/target SDK terlihat valid | โ |
android/target-sdk-play | android | targetSdk memenuhi persyaratan Play | โ |
android/min-sdk-capacitor | android | minSdk memenuhi Capacitor persyaratan | โ |
android/version-fields | android | versiCode / versiNama hadir | โ |
android/play-sa-access | android | Akun layanan dapat mengakses aplikasi (remote) | โ |
Contoh: remote Next.js / server.url shell
Judul Bagian: โContoh: remote Next.js / server.url shellโMenyebarkan shell native yang memuat produksi server.url adalah pola Capacitor yang didukung. Flag prescan ios/capacitor-server-url-shipped karena sering kali merupakan sisa reload hidup.
Konfirmasinya tanpa menonaktifkan cek lainnya:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedatau tetapkan visibilitas sebagai peringatan:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-warn ios/capacitor-server-url-shipped