---
title: التقاط المستندات
canonical: https://developer.unico.io/ar/dual-api/developer/sdks-and-tools/ios-sdk/document-capture/
locale: ar
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 > التعدادات](/developers/sdks-and-tools/ios/api-reference/enums).

## بدء التقاط المستندات

****الخطوة 2** — تنفيذ `DocumentCameraDelegate` و`AcessoBioDocumentDelegate`**

تتولى هذه المندوبات معالجة callbacks نتيجة التقاط المستند:

  | الطريقة | الوصف |
  |---|---|
  | `onSuccessDocument(result)` | نجح الالتقاط — يُعيد `DocumentResult` مع `base64` (معاينة) و`encrypted` (JWT لواجهة API) |
  | `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`**

استدعِ `prepareDocumentCamera` مع تمرير إعداد SDK. عندما تكون الكاميرا جاهزة، يُطلَق `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).