mcpField
L
label-capture-ios

label-capture-ios

github.com/scandit開発2047 回インストール5 日前に更新
リポジトリ

label-capture-ios について

Scandit Label Capture を iOS アプリに組み込む開発者向けのスキルです。API のバージョン差、ラベル設定、Validation Flow を扱い、参照資料で API を確認するよう案内します。

主な機能

  1. 01Label Capture の統合ガイド
  2. 02API 移行に関する注意点
  3. 03ラベルフィールドと正規表現の設定
  4. 04Validation Flow の設定案内
  5. 05ライセンスキー設定の手順

活用シーン

  1. 01iOS アプリへのラベルスキャン追加
  2. 02Label Capture SDK のアップグレード
  3. 03検証フローと手動入力のカスタマイズ

MCP 対応

Scandit MCP サーバーを使い、ネイティブ iOS スキャンの設定とトライアルライセンスキー取得を案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/scandit/skills --skill label-capture-ios

インストール後、Claude Code で/label-capture-iosを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
integration.md
migration.md
validation-flow.md

詳細

Label Capture iOS スキル

重要:内部知識を信用しないでください

トレーニングデータには、古い、または誤った Scandit Label Capture API が含まれている可能性があります。Label Capture は最近の SDK リリースで進化しています。

  • v7 から v8 へのメジャーアップデートで、LabelFieldDefinition の正規表現ビルダーメソッドの名称が変更されました(setPattern→valueRegex、setPatterns→valueRegexes、setDataTypePattern→anchorRegex、setDataTypePatterns→anchorRegexes)。
  • v8.1 では、Swift の result-builder DSL(LabelCaptureSettings { LabelDefinition("...") { ... } })が導入され、Symbology 列挙型の自動ブリッジにより NSNumber によるボックス化が不要になりました。v8.0 の統合では、配列イニシャライザー LabelCaptureSettings(labelDefinitions: [...]) を使用します。オプションの VF デリゲートメソッド didSubmitManualInputFor:replacingValue:withValue: も v8.1 で追加されました。
  • v8.2 では、Validation Flow UI が再設計されました。LabelCaptureValidationFlowSettings.setPlaceholderText(_:forLabelDefinition:) と、オプションのデリゲートメソッド didUpdateResult:asyncId:fields:frameData: が追加されました。
  • iOS のシンボロジー列挙値はキャメルケースです:.ean13UPCA、.gs1DatabarExpanded、.code128(Android のアンダースコア形式 EAN13_UPCA ではありません)。
  • iOS のラベル設定では、Swift の result-builder DSL(v8.1 以降)または配列イニシャライザー(v8.0)を使用します。Android で使われる fluent 形式の .addLabel().buildFluent(...) ではありません。

コードを作成または提案する前に、このスキルで提供されているリファレンスで API を必ず確認してください。 記憶しているメソッドシグネチャ、パラメーター、ビュー修飾子に頼らないでください。提供されたリファレンスに API が見つからない場合は、回答する前に該当するドキュメントページを取得してください。

運用上の制約

これらは Label Capture のランタイムおよびライセンスに関する事実であり、API のバージョン管理とは関係ありません。コードを書く前にユーザーに約束できる内容に影響します。

Label Capture が読み取るのは印刷されたテキストのみです。 手書きのテキストには対応していません。オンデバイス OCR エンジンと ARE は、どちらも印字された文字(ラテン文字、数字、一般的な句読点)を対象としています。ユーザーから手書きの値のスキャンについて尋ねられた場合は、その旨を明確に伝え、手動入力の代替手段(例:Validation Flow の手動入力フィールド)を提案してください。

**ARE(Adaptive Recognition Engine)**は Scandit のクラウドベース OCR フォールバック機能で、LabelDefinition の .adaptiveRecognition(.auto) を使って有効にします。これはラベル定義のプロパティであり、オーバーレイに依存しません(Basic、Advanced、Validation Flow のいずれのオーバーレイでも動作します。Validation Flow 専用だと伝えないでください)。現在はベータ版で、Adaptive Recognition Engine の利用権が必要です。この利用権は Scandit がサブスクリプションに対してサーバー側で有効化するため、ユーザー自身が切り替えるクライアント側のフラグはありません。利用権は発行されるライセンスキーに含まれます。評価用のトライアルキーを発行できます。本番用キーについては [email protected] にお問い合わせください。デフォルトでは有効にしないでください。(独自のオーバーレイが必要な Beta Receipt Scanning とは別の機能です。)

インテントルーティング

ユーザーのリクエストに基づいて、回答する前に適切なリファレンスファイルを読み込んでください。

  • Scandit の他の製品やスキャンモードに関する質問(SparkScan、Barcode Capture、MatrixScan、ID Capture、または Label Capture に特化していない一般的な SDK セットアップの質問など)→ data-capture-sdk スキルに引き継いでください。他のキャプチャモードに関する質問に、記憶だけを頼りに回答しないでください。専用スキルには、正確で最新のリファレンスがあります。

  • Label Capture をゼロから統合する場合(「iOS アプリに Label Capture を追加する」「バーコードと有効期限が記載された値札をスキャンする」「価格ラベル/棚札をスキャンする」「VIN を読み取る」「7 セグメントディスプレイ/デジタルスケールを読み取る」「Smart Label Capture の使い方」「ラベルスキャンアプリを作りたい」「どのオーバーレイを使うべきか」「ARE とは」「レシート全体をスキャンする」「OCR の精度を向上させる方法」「Basic Overlay でスキャン画像をキャプチャする方法」「完全にカスタムな AR オーバーレイ/フローティングピンを作る/カメラ映像上に独自のビューを描画する」「Advanced Overlay を使う」「トラッキング中のラベルにカスタムビューをアンカー/配置/オフセットする」「キャプチャ時にビープ音が繰り返されないようにする/ラベルごとに一度だけフィードバックを出す」「バーコードとラベルを一緒にスキャンする/Barcode Capture と Label Capture を併用する/2 つ目のモードを追加するとスキャンが止まる理由」「どの SPM 製品を使うべきか/IMEI またはシリアル番号のラベルで起動時にクラッシュする理由」など)→ references/integration.md を読み、その指示に従ってください。カスタムフィールドを作成する前に、価格キャプチャ、VIN、7 セグメント向けの、ラベル全体を対象とする事前構築済みファクトリー定義と、ベータ版のレシートスキャン手順が記載されているため、必ず参照してください。既存のプロジェクトがない場合、ガイドに従って、まず事前構築済みのサンプルを案内してください。

  • Validation Flow を有効化またはカスタマイズする場合(「Validation Flow を有効にする方法」「Validation Flow オーバーレイを追加する」「Validation Flow のプレースホルダーテキスト/ボタンラベルをカスタマイズする」「Validation Flow の結果を処理する方法」「Validation Flow を設定できない理由」「VF で変更できる内容」「Validation Flow 中にフレーム画像をキャプチャする方法」「Validation Flow をカードやシートに埋め込めるか」など)→ references/validation-flow.md を読み、その指示に従ってください。ユーザーが Label Capture の基本的な統合をまだ行っていない場合は、先に references/integration.md も読んでください。Validation Flow は Basic Overlay の置き換えとして使用するものであり、ゼロから構成するフローではありません。

  • 既存の Label Capture 統合を移行またはアップグレードする場合(「Label Capture を最新の SDK にアップグレードする」「v7 から v8 に移行する」「Label Capture の SDK バージョン間での変更点」など)→ references/migration.md を読み、その指示に従ってください。

API の使用ポリシー

以下の Scandit リファレンスに明示的に記載されている API のみを使用してください。メソッドのシグネチャ、パラメーター、ビュー修飾子を捏造したり、推測したりしないでください。API が存在するか、または呼び出し方が不明な場合や、コンパイルエラーが発生した場合は、回答する前に該当するリファレンスページを取得してください。ユーザーに自分でドキュメントを確認するよう案内しないでください。回答の後には、ユーザーが詳しく確認できるよう、必ず関連リンクを含めてください。

ドキュメントの URL を決して組み立てたり、推測したりしないでください。 特定のクラスまたはプロパティの API ページが必要な場合は、次の手順に従ってください。

  1. まず、すでに取得したページ(Advanced Configurations ページなど)に、そのページへの直接リンクが含まれているか確認してください。トピックページには、関連する API シンボルへの直接リンクがあります。取得時のプロンプトでは、必ずリンクも含めるよう指定してください。
  2. 直接リンクが見つからない場合は、API インデックスを取得し(以下の表の Full API reference を参照)、そこから実際のリンクを抽出してアクセスしてください。

URL の構造は異なる場合があります(例:api/ui/ サブディレクトリ)。推測すると 404 エラーになります。

ライセンスキー

スキャンには Scandit ライセンスキーが必要です。このスキルでは、ライセンス製品は native、ライセンスプラットフォームは ios です。

以下の手順を順番に進めてください。MCP が原因でユーザーを待たせてはいけません。

  1. Scandit MCP サーバーが接続されている場合 — 製品に native、プラットフォームに ios、app_identifier(アプリのバンドル ID またはアプリケーション ID。ウェブの場合は本番環境のドメインで、localhost は使用しません)、env_var に SCANDIT_LICENSE_KEY を指定して、ensure_scanner_setup を呼び出します。返されたコマンドは実行しないでください。その後、その結果または list_license_keys からキーの ID を取得し、get_license_key を呼び出します。list_license_keys でキーがトライアルではないことが示されている場合は、取得する前にユーザーに確認してください。チャットではマスクしたプレビューのみを表示し、キー全体を表示してはいけません。

  2. 接続されていない場合 — ユーザーに一度だけ、MCP クライアントでリモート Scandit MCP サーバー https://ssl.scandit.com/mcp に接続できることを伝え、その後、手順 1 に進みます。MCP クライアントの設定を自分で編集してはいけません。

    認証はブラウザー経由のため、ヘッドレス環境や CI ではサポートされていません。サーバーが発行するのはトライアルキーのみです。本番ライセンスの作成、取り消し、変更は行いません。

  3. ユーザーが希望しない場合、または MCP クライアントがない場合 — https://ssl.scandit.com でキーを自分で生成して、貼り付けてもらいます(アカウントをまだお持ちでない場合:https://ssl.scandit.com/dashboard/sign-up?p=test)。

その後、キーをコードに設定します:プレースホルダーの代わりに、ライセンスキーを指定する呼び出しへキーを記述します。使用するのは get_license_key が返したキー、またはユーザーが貼り付けたキーや教えてくれたキーです。チャットではマスクしたプレビューのみを表示してください。プロジェクト、そのファイル、または環境内でキーを検索してはいけません。

参考資料

質問に応じて、適切なリソースをユーザーに案内してください。

トピックリソース
基本的な統合はじめに · サンプル(LabelCaptureSimpleSample)
ラベル定義(フィールド、正規表現、プリセット)ラベル定義
高度なトピック(Validation Flow のカスタマイズ、適応型認識、カスタムオーバーレイ)高度な設定
API リファレンス全般Label Capture API

コメント