すべてのプロダクト
Search
ドキュメントセンター

ID Verification:iOS 統合

最終更新日:Nov 19, 2025

ID Verification は、iOS プラットフォーム用のソフトウェア開発キット (SDK) を提供します。この SDK は、モバイルアプリケーションに electronic Know Your Customer (eKYC) リモート本人確認機能を実装するのに役立ちます。サーバーから一意の識別子 (transactionId) をリクエストして取得する必要があります。その後、この識別子を渡して SDK の対応する機能を呼び出すことができます。このトピックでは、iOS プラットフォームの統合プロセスについて説明し、コード例を示します。

制限

  • iOS 9 以降を実行するモバイルデバイス (iPhone または iPad) のみをサポートします。

  • 必要なプライバシー権限: カメラとネットワーク。

SDK のダウンロードと構成

SDK の取得

iOS SDK をダウンロードしてパッケージを解凍します。次に、すべてのフレームワークパッケージをプロジェクトフォルダにコピーします。

必要な権限の追加

Info.plist ファイルに、次の権限を追加します。説明は参考用です。

image

Xcode でのフレームワークの追加

プロジェクト設定で、[Build Settings] > [Build Phases] > [Link Binary With Libraries] に移動し、フレームワークを追加します。

  • SDK からすべてのフレームワークを追加します:

    AliyunIdentityFace.framework
    AliyunIdentityPlatform.framework
    AliyunIdentityUtils.framework
    AliyunIdentityOcr.framework
    ToygerService.framework
    AliyunOSSiOS.framework
    faceguard.framework
    DTFUtility.framework
    ToygerNative.framework
    MNN.framework
  • システムの依存関係ライブラリを追加します:

    AudioToolbox.framework
    CoreMedia.framework
    CoreML.framework
    AVFoundation.framework
    SystemConfiguration.framework
    UIKit.framework
    CoreTelephony.framework
    CoreMotion.framework
    Accelerate.framework
    libresolv.tbd
    libsqlite3.tbd
    libc++.tbd
    libz.tbd

リソースファイルのコピー

プロジェクト設定で、[Build Settings] > [Build Phases] > [Copy Bundle Resources] に移動し、リソースファイルをコピーします。

  • AliyunIdentityPlatform.bundle: リソースファイルは AliyunIdentityPlatform.framework 内にあります。

  • AliyunIdentityFace.bundle: リソースファイルは AliyunIdentityFace.framework 内にあります。

  • AliyunIdentityOCR.bundle: リソースファイルは AliyunIdentityOcr.framework 内にあります。

  • ToygerService.bundle: リソースファイルは ToygerService.framework 内にあります。

リンカーフラグの構成

プロジェクト設定で、 [Build Settings] > [Other Linker Flags] に移動し、 [-ObjC] フラグを追加します。

SDK の呼び出し

ヘッダーファイルのインポート

#import <AliyunIdentityPlatform/AliyunIdentityPlatform.h>

SDK の初期化

- (void)install;
- (void)installWithOptions:(NSMutableDictionary *)options;

パラメーター:

options: 情報収集のためのオプションパラメーターを指定します。このパラメーターはオプションです。オプションパラメーターは次のとおりです:

説明
  • ID Verification クライアントには、Device Guard セキュリティモジュールが組み込まれています。さまざまなリージョンでのデータ収集コンプライアンス要件を満たすために、さまざまなデータレポートサイトを提供しています。CustomUrl と CustomHost を設定して、ユーザー属性に基づいてレポートサイトを指定できます。

    注: 単一のアプリケーションセッションのライフサイクル内で指定できるレポートサイトは 1 つだけです。サーバーのクエリリージョンはレポートサイトと一致する必要があります。

  • レポートサイトの指定:

    • シンガポールサイト (デフォルト): https://cloudauth-device.ap-southeast-1.aliyuncs.com

    • インドネシアサイト: https://cloudauth-device.ap-southeast-5.aliyuncs.com

    • 米国西部 (シリコンバレー): https://cloudauth-device.us-west-1.aliyuncs.com

    • ドイツ (フランクフルト): https://cloudauth-device.eu-central-1.aliyuncs.com

    • 中国 (香港): https://cloudauth-device.cn-hongkong.aliyuncs.com

  • プロダクトサーバーでサポートされているリージョンの詳細については、「サポートされているリージョン」をご参照ください。

フィールド名

説明

IPv6

デバイス情報をレポートするために IPv6 ドメイン名を使用するかどうかを指定します:

  • 0 (デフォルト): いいえ (IPv4 ドメイン名を使用)

  • 1: はい (IPv6 ドメイン名を使用)

"1"

DataSwitch

デバイス情報をレポートするタイミング。

  • 0 (デフォルト): 初期化時

  • 1: トークン取得時

説明

デフォルトの構成を使用することをお勧めします。

"1"

CustomUrl

データレポートサーバーのドメイン名を設定します。

"https://cloudauth-device.ap-southeast-1.aliyuncs.com"

CustomHost

データレポートサーバーのホストを設定します。

"cloudauth-device.ap-southeast-1.aliyuncs.com

metaInfo データの取得

- (NSString *)getMetaInfo;

アプリケーションサーバーは、Alibaba Cloud Initialize API を呼び出す前に、まずクライアントから metaInfo を取得する必要があります。

したがって、クライアントはまずネイティブの metaInfo データを取得し、この metaInfo を使用して初期化を完了し、TransactionId を取得する必要があります。

SDK を呼び出して検証を開始

- (void)verifyWithCertifyId:(NSString *)certifyId
  withCurrentViewController:(UIViewController *)viewController
              withExtParams:(NSDictionary *)extParams
                   complete:(AliyunIdentityVerifyBlock)completeBlock;

パラメーター

名前

タイプ

説明

transactionId

NSString

サーバー側の Initialize API から取得します。

viewController

UIViewController

クライアントアプリケーションの現在の ViewController

extParams

NSDictionary

カスタムパラメーター。ほとんどの場合、null を渡すことができます。

現在サポートされているパラメーターフィールドについては、「extParams の構成」をご参照ください。

completeBlock

AliyunIdentityVerifyBlock

検証プロセスの最後に呼び出されるコールバック。検証結果が含まれます。

extParams の構成

キー

説明

例 (文字列)

kIdentityParamKeyNextButtonColor

光学的文字認識 (OCR) 結果ページの下部にあるボタンの色。

#FF0000

kIdentityParamKeyRoundProgressColor

顔スキャン中の円の色。

#FF0000

kIdentityParamKeyOcrSelectPhoto

証明書の OCR ステップ中にアルバムアップロードエントリを表示するかどうかを指定します:

  • 1: 表示 (デフォルト)

  • 0: 非表示

1

kIdentityParamKeyShowOcrResult

証明書の OCR ステップ中に結果ページを表示するかどうかを指定します:

  • 1: 表示 (デフォルト)

  • 0: 非表示

1

kIdentutyParamKeyEditOcrResult

証明書の OCR ステップ中に結果ページが編集可能かどうかを指定します:

  • 0: 編集不可

  • 1 (デフォルト): 編集可能

1

kIdentityParamKeyMaxRetryCount

最大リトライ回数。3 から 10 までの値を設定できます。デフォルト値は 10 です。

10

kIdentityParamKeyCardOcrTimeOutPeriod

OCR ステップのタイムアウト期間。20 から 60 秒の値を設定できます。デフォルト値は 20 秒です。

20

kIdentityParamKeyFaceVerifyTimeOutPeriod

生体情報収集および検出ステップのタイムアウト期間。20 から 60 秒の値を設定できます。デフォルト値は 20 秒です。

20

kIdentityParamKeyCardOcrEditTimeOutPeriod

OCR 結果ページが編集可能な期間。60 から 180 秒の値を設定できます。デフォルトでは、制限はありません。

180

kIdentityParamKeyLanguage

SDK のカスタム言語設定。デフォルトでは、SDK はモバイルデバイスのオペレーティングシステムの言語を使用します。

説明

SDK でサポートされている言語のリストについては、「Android および iOS SDK のカスタム言語」をご参照ください。

zh-Hans

kIdentityParamKeyDefaultLanguage

SDK のデフォルト言語。有効な値については、kIdentityParamKeyLanguage フィールドをご参照ください。

デフォルト値は en で、英語を示します。

en

kIdentityParamKeyCloseButtonPosition

SDK の閉じるボタンの位置:

  • left: 左 (デフォルト)

  • right: 右

left

kIdentityParamKeyWatermark

OCR 成功後のウォーターマークテキスト。

テストウォーターマークテキスト

kIdentutyParamKeyProtocol

SDK プロトコル。

説明

サーバー側の Initialize API からプロトコルを取得し、拡張パラメーターで渡します。これにより、内部 SDK API のインタラクションが減り、ネットワークエクスペリエンスが向上します。

968412EB*******...

エラーコード

エラーコード

課金対象

結果コードの説明

1000

はい

ユーザーは顔スキャンプロセスを完了し、推奨される検証結果は「pass」です。この結果は参考用です。サーバー側の CheckResult API を呼び出して最終的な検証結果を取得し、さらに処理を進めてください。

1001

はい

ユーザーは顔スキャンプロセスを完了し、推奨される検証結果は「fail」です。この結果は参考用です。サーバー側の CheckResult API を呼び出して最終的な検証結果と失敗の詳細な理由を取得し、さらに処理を進めてください。

1002

いいえ

システムエラーが発生しました。

1003

いいえ

SDK の初期化に失敗しました。クライアントの時刻が正しいか確認してください。

1004

いいえ

カメラエラーが発生しました。問題を解決するには、次のステップを試してください:

  1. 検証の前に、アプリケーションにカメラの権限が付与されていることを確認してください。

  2. 権限付与後も権限エラーが続く場合は、アプリケーションのキャッシュをクリアしてリトライしてみてください。

1005

いいえ

ネットワークエラーが発生しました。

1006

いいえ

ユーザーがプロセスを終了しました。

1007

いいえ

TransactionId が無効です。

1009

いいえ

クライアントのタイムスタンプが正しくありません。

1011

いいえ

送信された証明書のタイプが正しくありません。

1012

いいえ

検出された証明書にキー情報が欠落しているか、フォーマットの検証に失敗しました。

1013

いいえ

イメージの品質が低いです。

1014

いいえ

エラーの数が上限を超えました。

サンプルコード

#import "ViewController.h"
#import <AliyunIdentityPlatform/AliyunIdentityPlatform.h>

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
 
    // SDK を初期化します。
    [[AliyunIdentityPlatform sharedInstance] install];
 
    [self initUI];
}

// この関数はユーザーが実装する必要があります。
- (NSString *)sentMetaInfoAndGetTransactionId:(NSString*) metaInfo {
    return @"サーバーから TransactionId を取得します。"; // これを置き換えてください。
}

- (void)onClickStart:(id) sender {
    NSString *metaInfo = [[AliyunIdentityPlatform sharedInstance] getMetaInfo];
    NSString *transactionId = [self sentMetaInfoAndGetTransactionId:metaInfo];

    // SDK の言語を設定します。
    NSDictionary *extParams = @{
        kIdentityParamKeyLanguage:@"en"
        kIdentutyParamKeyProtocol:@"968412EB......................."// このプロトコルを構成して、ネットワーク遅延を最適化します。
    };
    // 検証を開始します。
    [[AliyunIdentityPlatform sharedInstance] verifyWithCertifyId:transactionId
                                       withCurrentViewController:self
                                                   withExtParams:extParams
                                                        complete:^(AliyunIdentityVerifyRes *response) {
        NSString *resContent = [NSString stringWithFormat:@"Code=%d Message=%@", response.code, response.message];
    }];
}

- (void)initUI {
    // ......
}

@end

デモコードパッケージ

iOS デモコードパッケージ をダウンロードしてお試しください。

コンポーネントのトリミング

モジュール

トリミング可能

説明

パッケージサイズの増加

AliyunIdentityNFC

トリミング可能。NFC 機能を使用しない場合は、このコンポーネントをトリミングできます。

NFC モジュール

3.7 M

OpenSSL

トリミング可能。NFC 機能を使用しない場合は、このコンポーネントをトリミングできます。

NFC モジュールの依存関係ライブラリ

AliyunIdentityOcr

トリミング可能。OCR 機能を使用しない場合は、このコンポーネントをトリミングできます。完全な eKYC ソリューションには OCR が含まれることに注意してください。

OCR モジュール

0.8 MB

faceguard

トリミング不可

Face Guard モジュール

0.74 MB

AliyunIdentityFace

トリミング不可

顔検出モジュール

2.2 M

ToygerService

トリミング不可

生体アルゴリズムモジュール

0.98 MB

ToygerNative

トリミング不可

生体アルゴリズムモジュール

AliyunIdentityPlatform

トリミング不可

ベースモジュール

0.04 MB

AliyunIdentityUtils

トリミング不可

ベースモジュール

0.04 MB

MNN

トリミング不可

生体アルゴリズムの依存関係ライブラリ

0.09 MB

DTFUtility

トリミング不可

ベースモジュール

0.1 M

AliyunOSSiOS

トリミング不可

顔検証の依存関係ライブラリ

0.23 MB