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

ビルドの前スキャンチェック

Before Capgo Cloud Build uploads your project, the CLI runs a プリアンサン ローカルで資格情報、プロジェクト、ストア設定の問題をキャッチします。

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

ターミナルウィンドウ
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は、エラーが明確に表示されるまで、速やかに失敗します。

フラグ効果
--no-prescan全体のスキャンをスキップ
--prescan-ignore-fatal または --ignore-fatal 上で build prescan)スキャンを実行、レポートを出力、ブロックしない
--fail-on-warnings警告を致命的なものとして扱う(CI)

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

カタログを確認

「カタログを確認」

正確なIDを使用 --prescan-skip / --prescan-warn.

段階的に強制 情報のみの検出であるため、建物をブロックすることはありません。 2026-08-14次に、建物をブロックできます。

IDプラットフォームチェックするもの段階的に強制
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/アプリケーションIDと一致します

iOS

iOS
IDプラットフォームチェックするもの段階的に強制
ios/p12-opensiOSiOSの.p12ファイルは、指定されたパスワードで開きます。
ios/p12-expiryiOSiOSの署名証明書は期限切れではありません。
ios/profile-expiryiOSプロビジョニングプロファイルは期限切れではありません。
ios/profile-bundle-matchiOSアプリケーションプロビジョニングプロファイルのバンドルIDがアプリと一致しています
ios/profile-type-vs-modeiOSプロファイルのタイプがアプリストア/アドホックモードと一致しています
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__は非特免暗号化を使用していることを宣言しています。はい
ios/plist-ats-arbitrary-loadsios__CAPGO_KEEP_0__の生産用途ではNSAllowsArbitraryLoadsが有効になっていません。はい
ios/plist-launch-storyboardios起動画面が宣言されているはい
ios/plist-orientations-multitaskingios画面の向き/タスク設定が一致していますはい
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-capabilityiosEntitlementsはプロファイルの機能と一致しています。はい
ios/entitlements-aps-environment-vs-modeiosaps-environmentは配布モードと一致しています。はい
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サーバーが移動を許可することは、全面的なワイルドカードではありません。はい
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-missingiOSディスク上のContents.jsonアイコンファイルが存在します。はい
ios/appicon-marketing-missingiOS1024×1024のマーケティングアイコンが存在しますはい
ios/spm-deployment-target-consistencyiOSSPMのデプロイ先が一貫していますはい
IDプラットフォームチェックするもの段階的強制
android/keystore-opensAndroidAndroid キーストアは提供されたパスワードで開きます。
android/keystore-expiryandroidAndroid の署名証明書は期限切れではありません。
android/cordova-vars-presentandroidcordova.variables.gradle は cap sync 後に存在します。
android/gradle-props-heuristicsandroidGradle プロパティのヒューリスティクスは一般的なビルドの問題を解決します。
android/play-sa-jsonandroidPlay サービスアカウントの JSON は設定された場合に存在します。
android/flavor-existsandroid要求された製品フラバーが存在します。
android/agp8-package-attrandroidManifest package= attribute removed for AGP 8+
android/manifest-well-formedアンドロイドAndroidManifest.xml parses
android/manifest-tag-typoアンドロイド共通のマニフェストタグのタイプミス
android/manifest-namespace-uriアンドロイドxmlns:android namespace URI is correct
android/manifest-missing-prefixアンドロイドAndroid attributes use the android: prefix
android/manifest-exported-missingアンドロイドandroid:exported is set where required
android/manifest-multiple-uses-sdkアンドロイド1つの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 インテントフィルタが有効
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-floorsAndroid最小/コンパイル/ターゲット SDK フロアが有効です。
android/target-sdk-playAndroidターゲット SDK が Play の要件を満たしています。
android/min-sdk-capacitorAndroid最小 SDK が Capacitor の要件を満たしています。
android/version-fieldsAndroidバージョンコード / バージョン名が存在します。
android/play-sa-accessAndroidサービスアカウントはアプリにアクセスできます (remote)

生産用のシェルをロードするためにネイティブシェルを配信することはサポートされています server.url Capacitor パターンは、しばしばライブリロードの残骸です。 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