---
title: iOS アプリケーションデリゲート
slug: ios
createdAt: 2025-07-28T23:08:28.157Z
---

この **ForterSDK** は **アプリケーションデリゲートから初期化する必要があります**。iOSアプリの主要なルートとして、アプリデリゲートオブジェクトはアプリの起動サイクルの早い段階で作成され、アプリデリゲート内でのForter SDKの初期化により、アプリがアクティブなときに正しく読み込まれることが保証されます。アプリデリゲートに関する詳細は、次の [公式iOS開発者ドキュメント](https://developer.apple.com/documentation/uikit/uiapplicationdelegate)

## 1. アプリケーションデリゲートから初期化する

この **ForterSDK** は **アプリケーションデリゲートから初期化する必要があります**。

1. SDKを次のようにインポートします:
   - `import ForterSDK` for Swift
   - `#import <ForterSDK/ForterSDK.h>` for Obj-C.
2. Forter Portalの [資格情報](https://portal.forter.com/app/integration/credentials/) セクションからサイトIDを取得し、正しいサンドボックスまたは本番環境に切り替えていることを確認してください。
3. **ForterSDKを初期化する**には、あなたの `site_id` とあなたのiOSデバイスのPCI準拠の内蔵 [IDFV](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor) 値を次の行をアプリケーションデリゲートの
   [`:didFinishLaunchingWithOptions`](https://developer.apple.com/reference/uikit/uiapplicationdelegate/1622921-application) メソッドに追加します:

```swift
ForterSDK.setup(withDeviceUid:UIDevice.current.identifierForVendor.uuidString, siteId: "your_site_id")
```

```objective-c
[ForterSDK setupWithDeviceUid:[[UIDevice currentDevice].identifierForVendor UUIDString] siteId:@"your_site_id"];
```

## 2. Forterトークンの更新に登録する（SDKバージョン3.0.0以上）

組み込みのトークン更新リスナーを使用してトークンの更新に登録します。ここで受け取ったトークンは、[Order APIで必要です](https://docs.forter.com/mobile-sdks/d0qj-fortermobileuid#6mBXx)としての値が必要です。`forterMobileUID`属性の。

```swift
let listener = ForterTokenListener { forterToken in
    // This closure is called whenever the Forter token is updated.
    // Use `forterToken` for the Validation API.
}
ForterSDK.register(listener)
```

```objective-c
ForterTokenListener * listener = [[ForterTokenListener alloc] initWithUpdatesHandler:^(NSString *forterToken) {
    // This block is called whenever the Forter token is updated.
    // Use `forterToken` for the Validation API.
}];
[ForterSDK registerForterTokenListener: listener];
```

## 3. アプリケーションデリゲートからコールバックを追加する

アプリケーションデリゲートにメッセージを受信した際は、ForterSDKのデリゲート内の対応するメソッドを呼び出してください、`FTRSDKApplicationDelegate`.

例えば、[`applicationDidBecomeActive(_:)`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/applicationdidbecomeactive\(_:\))

あなたのデリゲートは以下のようになります:

```swift
func applicationDidBecomeActive(application: UIApplication) {
	FTRSDKApplicationDelegate.sharedInstance().applicationDidBecomeActive(application)
}
```

```objective-c
- (void)applicationDidBecomeActive:(UIApplication *)application {
  [[FTRSDKApplicationDelegate sharedInstance] applicationDidBecomeActive: application];
}
```

もしあなたが[シーン](https://developer.apple.com/documentation/uikit/scenes), UIKitは`applicationDidBecomeActive`を呼び出しません。

シーンベースのアプリで`applicationDidBecomeActive`がForterSDKに転送されることを確実にするために、[`didBecomeActiveNotification`](https://developer.apple.com/documentation/uikit/uiapplication/didbecomeactivenotification)をリッスンしてください:

```swift
NotificationCenter.default.addObserver(
    self,
    selector: #selector(handleAppDidBecomeActive),
    name: UIApplication.didBecomeActiveNotification,
    object: nil
)

@objc func handleAppDidBecomeActive() {
    FTRSDKApplicationDelegate.sharedInstance().applicationDidBecomeActive(UIApplication.shared)
}
```

```objective-c
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handleAppDidBecomeActive)
                                             name:UIApplicationDidBecomeActiveNotification
                                           object:nil];

- (void)handleAppDidBecomeActive {
    [[FTRSDKApplicationDelegate sharedInstance] applicationDidBecomeActive:[UIApplication sharedApplication]];
}
```

:::hint{type="warning"}
すべてのAppDelegateコールバックを呼び出すことを確認してください
:::
