Periksa konfigurasi build
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Sebelum Capgo Cloud Build mengunggah proyek Anda, CLI menjalankan prescan yang menangkap masalah kredit, proyek, dan konfigurasi toko secara lokal.
Prescan ini juga dapat dijalankan secara mandiri:
npx @capgo/cli@latest build prescan <appId> --platform iosAda 80 pemeriksaan hari ini. Lebih baik mengabaikan ID pemeriksaan individu daripada mematikan skenario keseluruhan.
Abaikan pemeriksaan tertentu
Bagian berjudul โAbaikan pemeriksaan tertentuโ# 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 pengecekan tidak dikenal gagal dengan cepat dengan pesan kesalahan yang jelas.
Penggunaan global (gunakan dengan hati-hati)
Judul bagian โPenghindaran global (gunakan dengan hati-hati)โ| Flag | Pengaruh |
|---|---|
--no-prescan | Lebihkan seluruh sken |
--prescan-ignore-fatal (atau --ignore-fatal pada build prescan) | Sken, cetak laporan, tidak pernah blokir |
--fail-on-warnings | Tangani peringatan sebagai fatal (CI) |
--no-prescan dan --prescan-ignore-fatal sembunyikan atau lewati semua periksaan 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.
Dibagikan
Judul bagian โDibagikanโ| 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 | Sertifikat pemasangan iOS terbuka dengan kata sandi yang disediakan | โ |
ios/p12-expiry | iOS | Sertifikat pemasangan iOS tidak kedaluwarsa | โ |
ios/profile-expiry | iOS | Profil pemasangan tidak kedaluwarsa | โ |
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 aplikasi | โ |
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 App Store Connect API aplikasi terlihat valid | โ |
ios/asc-key-access | iOS | ASC API dapat mengakses aplikasi (jarak jauh) | โ |
ios/plist-bundle-id-format | iOS | Format CFBundleIdentifier valid | Ya |
ios/plist-version-short-format | iOS | Format CFBundleShortVersionString valid | Ya |
ios/plist-version-build-format | iOS | Format CFBundleVersion valid | Ya |
ios/plist-encryption-compliance | iOS | Aplikasi Menggunakan Enkripsi Non-Exempt yang Dideklarasikan | Ya |
ios/plist-ats-arbitrary-loads | ios | NSAllowsArbitraryLoads tidak diaktifkan untuk produksi | Ya |
ios/plist-launch-storyboard | ios | Layar Peluncuran Dideklarasikan | Ya |
ios/plist-orientations-multitasking | ios | Pengaturan Orientasi / Multitasking Konsisten | Ya |
ios/plist-orientations-present | ios | UISupportedInterfaceOrientasi yang Dideklarasikan | Ya |
ios/plist-display-name | ios | Nama Tampilan Ditetapkan | Ya |
ios/plist-background-modes-sanity | ios | Nilai UIBackgroundModes terlihat valid | Ya |
ios/xcode-deployment-target-capacitor | ios | Target Pengiriman iOS memenuhi persyaratan Capacitor | Ya |
ios/xcode-signing-team | ios | Tim pengembang tanda tangan telah ditetapkan | Ya |
ios/xcode-bundle-id-mismatch-across-configs | iOS | ID aplikasi kemas konsisten di konfigurasi Xcode | Ya |
ios/xcode-enable-bitcode-leftover | iOS | Sisa ENABLE_BITCODE dihapus | Ya |
ios/xcode-swift-version-sanity | iOS | Pengaturan versi Swift terlihat wajar | Ya |
ios/xcode-no-app-target | iOS | Project Xcode memiliki target aplikasi | Ya |
ios/xcode-multiple-app-targets | iOS | Banyak target 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 adalah valid | Ya |
ios/entitlements-app-groups-format | ios | Format App Groups adalah valid | Ya |
ios/capacitor-server-url-shipped | ios | server.url tidak dibiarkan sebagai endpoint reload hidup / shell remote untuk build 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 | CocoaPods Pods / 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 Resolved 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 | target pengiriman SPM konsisten | Ya |
Android
Judul Bagian โAndroidโ| ID | Platform | Apa yang dicek | Mengenakan 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 masalah 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 | Paket Manifest atribut dihapus untuk AGP 8+ | โ |
android/manifest-well-formed | Android | AndroidManifest.xml diproses | โ |
android/manifest-tag-typo | Android | Kasus kesalahan tag manifest umum | โ |
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 justifikasi | โ |
android/manifest-deeplink-valid | android | Tautan deep melihat valid | โ |
android/applicationid-present | android | Id aplikasi dideklarasikan di app/build.gradle | โ |
android/capacitor-build-gradle-applied | android | capacitor.build.gradle ada ketika diaplikasikan | โ |
android/gradle-wrapper-present | android | File wrapper Gradle ada | โ |
android/flavor-dimensions | android | Dimensi rasa warna 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 bersama 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 ada | โ |
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โMengirimkan shell native yang memuat produksi server.url Mengirimkan shell native yang memuat produksi adalah pola yang didukung Capacitor. Flag prescan ios/capacitor-server-url-shipped Karena sering kali merupakan sisa reload hidup.
Tetapkan peringatan tanpa menonaktifkan periksa 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