メイン コンテンツにジャンプ

ビルドのプレースキャン チェック

Capgo Cloud Build がプロジェクトをアップロードする前に、CLI は プレスキャン ローカルで資格情報、プロジェクト、ストア設定の問題をキャッチする

また、独立して実行します:

ターミナルウィンドウ
npx @capgo/cli@latest build prescan <appId> --platform ios

チェックがあります。 80 個々のチェックIDを無視するのではなく、全体のスキャンをオフにするのを優先します。

ターミナル画面
# 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-separated
npx @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-loads

スタンドアロンエイリアス有効 build prescan:

ターミナル画面
npx @capgo/cli@latest build prescan <appId> --platform ios \
--skip ios/capacitor-server-url-shipped \
--warn ios/capacitor-server-cleartext

未知のチェックIDは、明確なエラーと共に速やかに失敗します。

グローバルエスケープ(あまり使用しないでください)

Section titled “グローバルエスケープ(あまり使用しないでください)”
フラグ効果
--no-prescan全体のスキャンをスキップ
--prescan-ignore-fatal または --ignore-fatal スキャンを実行、レポートを出力、ブロックしない build prescan)警告を致命的なものとして扱う (CI)
--fail-on-warningsそして

--no-prescan 非表示または回避 --prescan-ignore-fatal すべて 残りのチェック。1 つのルールに異議を唱える場合のみ、チェックごとにオーバーライドを使用してください。 and

正確なIDを使用します。 --prescan-skip / --prescan-warn.

段階的な強制 「情報のみ」であることを意味します。検出は、ビルドをブロックするまで 2026-08-14共有

チェックするもの段階的な強制translationstranslations
shared/apikey-permissioniOS、AndroidAPI キーはネイティブ ビルドを要求できます
shared/app-existsiOS、AndroidAPI キーがアプリ ID を見ることができ、存在します
shared/credentials-savediOS、Android必要な iOS/Android の資格情報はローカルに保存されます
shared/cap-sync-staleiOS、AndroidWeb アセットがビルドされ、Capacitor プラグインが同期されます
shared/node-linker-layoutiOS、Androidnode_modules のレイアウトは、Capacitor ネイティブ パスと互換性があります
shared/bundle-id-consistencyiOS、AndroidCapacitor のアプリ ID がネイティブ バンドル ID / applicationId と一致します

iOS

iOS
IDプラットフォームチェックするもの段階的強制
ios/p12-opensiOSiOSの.p12ファイルは、指定されたパスワードで開きます。
ios/p12-expiryiOSiOSの署名証明書は期限切れではありません。
ios/profile-expiryiOSプロビジョニングプロファイルは期限切れではありません。
ios/profile-bundle-matchiOSアプリケーションプロビジョニングプロファイルのバンドルIDがアプリと一致しています
ios/profile-type-vs-modeiOSプロファイルのタイプがアプリストア/ADホックモードと一致しています
ios/cert-profile-pairingiOSプロビジョニングプロファイルに証明書が埋め込まれています
ios/targets-coverediOSすべてのiOSターゲットにプロビジョニングプロファイルが設定されています
ios/infoplist-sanityiOSInfo.plistには必要なバージョン/アイデンティティのキーが含まれています
ios/asc-key-validiOSApp Store Connect API キーフィールドが有効です
ios/asc-key-accessiOSASC API キーでアプリにアクセスできます (リモート)
ios/plist-bundle-id-formatiOSCFBundleIdentifier の形式は有効ですはい
ios/plist-version-short-formatiOSCFBundleShortVersionString の形式は有効ですはい
ios/plist-version-build-formatiOSCFBundleVersion の形式は有効ですはい
ios/plist-encryption-complianceiOS__CAPGO_KEEP_0__ is declaredYes
ios/plist-ats-arbitrary-loadsios__CAPGO_KEEP_0__ is not enabled for productionYes
ios/plist-launch-storyboardios__CAPGO_KEEP_0__ is declaredYes
ios/plist-orientations-multitaskingiosOrientation / multitasking settings are consistentYes
ios/plist-orientations-presentiosUISupportedInterfaceOrientations は宣言されていますはい
ios/plist-display-nameios表示名が設定されていますはい
ios/plist-background-modes-sanityiosUIBackgroundModes の値が有効ですはい
ios/xcode-deployment-target-capacitoriosiOS のデプロイメントターゲットは Capacitor の要件を満たしていますはい
ios/xcode-signing-teamios署名チームの設定が完了しましたはい
ios/xcode-bundle-id-mismatch-across-configsiOSXcodeの設定間でバンドルIDが一貫しているはい
ios/xcode-enable-bitcode-leftoveriOSENABLE_BITCODEの残りが削除されましたはい
ios/xcode-swift-version-sanityiOSSwiftのバージョン設定が正常ですはい
ios/xcode-no-app-targetiOSXcodeプロジェクトにはアプリケーション目標があります。はい
ios/xcode-multiple-app-targetsiOS複数のアプリケーション目標は意図的に処理されます。はい
ios/entitlements-vs-profile-capabilityiOS特権はプロファイル機能と一致しています。はい
ios/entitlements-aps-environment-vs-modeiOSaps環境は配布モードと一致しています。はい
ios/entitlements-associated-domains-formatiOS関連するドメインのフォーマットは有効です。はい
ios/entitlements-app-groups-formatiosApp Groupsのフォーマットは有効です。はい
ios/capacitor-server-url-shippediosserver.urlはストアビルド用のライブリロード/リモートシェルエンドポイントとして残しておけない。はい
ios/capacitor-server-cleartextiosserver.cleartextは生産用途では有効ではありません。はい
ios/capacitor-allow-navigation-wildcardiosサーバー.allowNavigation は一律のワイルドカードではありません。はい
ios/pods-not-installediOSCocoaPods の Pods / ワークスペースは、Pods を使用する場合に存在します。はい
ios/pods-lock-missingiOSPodfile.lock は Pod のバージョンを固定しています。はい
ios/pods-capacitor-missingiOSPodfile は Capacitor をワイヤーしています。はい
ios/spm-package-resolved-missingiOSSPMパッケージ.resolvedが存在しますはい
ios/spm-capacitor-dependency-missingiOSPackage.swiftではCapacitorが宣言されていますはい
ios/appicon-empty-or-placeholderiOSAppIcon.appiconsetが存在し、空ではありませんはい
ios/appicon-referenced-file-missingiOSContents.jsonのアイコンファイルがディスク上に存在しますはい
ios/appicon-marketing-missingiOS1024×1024のマーケティングアイコンが存在しますはい
ios/spm-deployment-target-consistencyiOSSPMのデプロイ先が一貫していますはい
IDプラットフォームチェックするもの段階的な強制
android/keystore-opensAndroidAndroid キーストアは提供されたパスワードで開きます
android/keystore-expiry__CAPGO_KEEP_0__Android の署名証明書は有効期限内です
android/cordova-vars-present__CAPGO_KEEP_0__cordova.variables.gradle は cap sync 後に存在します
android/gradle-props-heuristics__CAPGO_KEEP_0__Gradle プロパティのヒューリスティクスは一般的なビルドの問題を解決します
android/play-sa-json__CAPGO_KEEP_0__Play サービス アカウントの JSON は設定された場合に存在します
android/flavor-exists__CAPGO_KEEP_0__要求された製品フラバーが存在します
android/agp8-package-attr__CAPGO_KEEP_0__Manifest package=属性はAGP 8+で削除されました
android/manifest-well-formedandroidAndroidManifest.xmlはパースされます
android/manifest-tag-typoandroid共通のマニフェストタグのタイプミス
android/manifest-namespace-uriandroidxmlns:androidの名前空間URIは正しい
android/manifest-missing-prefixandroidAndroid属性はandroid:プレフィックスを使用します
android/manifest-exported-missingandroidandroid:exportedは必要な場合に設定されます
android/manifest-multiple-uses-sdkandroid1つのsdk要素のみ使用
android/manifest-duplicate-componentAndroidコンポーネントの重複は許可されません
android/manifest-unique-permissionAndroidカスタムの権限は一意です
android/manifest-hardcoded-debuggableAndroiddebuggable=trueは配信されません
android/manifest-mock-locationAndroidACCESS_MOCK_LOCATIONは配信されません
android/manifest-exported-unprotectedAndroidエクスポートされたコンポーネントは保護されています
android/manifest-query-all-packagesAndroidQUERY_ALL_PACKAGESの正当性
android/manifest-deeplink-validアンドロイドDeep LinkのIntentフィルタは有効なようです
android/applicationid-presentアンドロイドアプリケーションIDはapp/build.gradleで宣言されています
android/capacitor-build-gradle-appliedアンドロイドcapacitor.build.gradleが適用されたときに存在します
android/gradle-wrapper-presentアンドロイドGradleワッパーファイルが存在します
android/flavor-dimensionsアンドロイドフラバーの次元が存在するときに宣言されています
android/google-services-fileアンドロイドGoogle サービス JSON がプラグイン適用時に存在します。
android/local-properties-committedAndroidローカルプロパティはシークレットが含まれないようにコミットされます。
android/sdk-floorsAndroidmin/compile/target SDK フロアの値は有効です。
android/target-sdk-playAndroidターゲット SDK は Play の要件を満たしています。
android/min-sdk-capacitorAndroidminSdk は Capacitor の要件を満たしています。
android/version-fieldsAndroidバージョンコード / バージョン名が存在します。
android/play-sa-accessAndroidサービスアカウントはアプリにアクセスできます (remote)

生産用のシェルをロードするためにネイティブシェルを配信することは、サポートされている __CAPGO_KEEP_0__ パターンです。 server.url is a supported Capacitor pattern. Prescan flags ios/capacitor-server-url-shipped これは、他のチェックを無効にしないように認識することです:

ターミナルウィンドウ

コピーする
npx @capgo/cli@latest build request <appId> --platform ios \
--prescan-skip ios/capacitor-server-url-shipped

ターミナルウィンドウ

コピーする
npx @capgo/cli@latest build request <appId> --platform ios \
--prescan-warn ios/capacitor-server-url-shipped