---
title: ドキュメントキャプチャ
canonical: https://developer.unico.io/ja/dual-api/developer/sdks-and-tools/ios-sdk/document-capture/
locale: ja
generated_by: markdown-export
---

本人確認書類のキャプチャ。SDK はドキュメントの位置決めを補助するフレームを表示し、位置が合ったらユーザーがボタンをクリックして写真を撮影します。

:::warning[コンテンツ検証なし]
SDK はキャプチャされているものに対して何らかの検証を行いません。
:::

## 利用可能なドキュメントフレーム

| フレーム | 説明 |
|---|---|
| `DocumentEnums.CPF` | CPF をキャプチャ |
| `DocumentEnums.CNH` | 開いた CNH をキャプチャ |
| `DocumentEnums.cnhFrente` | CNH の表面をキャプチャ |
| `DocumentEnums.cnhVerso` | CNH の裏面をキャプチャ |
| `DocumentEnums.RG` | 開いた RG をキャプチャ |
| `DocumentEnums.rgFrente` | RG の表面をキャプチャ |
| `DocumentEnums.rgVerso` | RG の裏面をキャプチャ |
| `DocumentEnums.none` | その他のドキュメント用汎用長方形フレーム |

:::tip[汎用フレーム]
特定のフレームが存在しないドキュメント（例：RNE）をキャプチャする必要がある場合は、`DocumentEnums.none` を使用してください — どのキャプチャにも対応できる汎用の長方形フレームです。
:::

サポートされているドキュメントタイプの一覧については、[API リファレンス > Enum](/developers/sdks-and-tools/ios/api-reference/enums) をご参照ください。

## ドキュメントキャプチャの開始

****ステップ 2** — `DocumentCameraDelegate` と `AcessoBioDocumentDelegate` を実装する**

これらのデリゲートはドキュメントキャプチャの結果コールバックを処理します：

  | メソッド | 説明 |
  |---|---|
  | `onSuccessDocument(result)` | キャプチャ成功 — `base64`（プレビュー）と `encrypted`（API 用 JWT）を含む `DocumentResult` を返す |
  | `onErrorDocument(errorBio)` | キャプチャ失敗 — コードと説明を含む `ErrorBio` を返す |

  ### Swift

    ```swift
    class ViewController: UIViewController, AcessoBioManagerDelegate,
      DocumentCameraDelegate, AcessoBioDocumentDelegate {

      func onSuccessDocument(_ result: DocumentResult!) { }
      func onErrorDocument(_ errorBio: ErrorBio!) { }
    }
    ```

### Objective-C

    ```objectivec
    // .h
    @interface ViewController: UIViewController <AcessoBioManagerDelegate,
      DocumentCameraDelegate, AcessoBioDocumentDelegate> {
      AcessoBioManager *unicoCheck;
    }

    // .m
    - (void)onSuccessDocument:(DocumentResult *)result {
        NSLog(@"%@", result.base64);
    }

    - (void)onErrorDocument:(ErrorBio *)errorBio { }
    ```

****ステップ 3** — `prepareDocumentCamera` と `openDocument` を呼び出す**

SDK 設定を渡して `prepareDocumentCamera` を呼び出します。カメラの準備が整うと、`onCameraReadyDocument` が `AcessoBioCameraOpenerDelegate` とともにトリガーされます — `openDocument()` を使用してカメラを開き、希望する `DocumentEnums` を渡します：

  - `onCameraReadyDocument(cameraOpener)` — カメラの準備完了；`openDocument(.CNH, delegate: self)` を呼び出す。
  - `onCameraFailedDocument(message)` — カメラの準備失敗（`ErrorPrepare` は `ErrorBio` の拡張）。

  ### Swift

    ```swift
    @IBAction func openCamera(_ sender: Any) {
      unicoCheck.build().prepareDocumentCamera(self, config: YourUnicoConfigClass())
    }

    func onCameraReadyDocument(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
      cameraOpener.openDocument(DocumentEnums.CNH, delegate: self)
    }

    func onCameraFailedDocument(_ message: ErrorPrepare!) { }
    ```

### Objective-C

    ```objectivec
    - (IBAction)openCamera:(UIButton *)sender {
        [[unicoCheck build] prepareDocumentCamera:self config:[YourUnicoConfigClass new]];
    }

    - (void)onCameraReadyDocument:(id)cameraOpener {
        [cameraOpener openDocument:DocumentCNH delegate:self];
    }

    - (void)onCameraFailedDocument:(ErrorPrepare *)message { }
    ```

結果の完全な処理については、[結果の受け取り](/developers/sdks-and-tools/ios/capture-flow/receiving-the-result) をご参照ください。