# iOS の音声連携 — Live

iOS の音声通信を統合し、複数プラットフォームの Live 共同閲覧に対応します。

Canonical: https://developer.realsee.ai/ja/docs/live/function-expansion/rtc/ios
Source: https://developer.realsee.ai/ja/docs/live/function-expansion/rtc/ios.md
Language: ja

> **補足**

iOS クライアントの開発者向けガイドです。他プラットフォーム側の追加作業は不要で、それぞれで音声が動作すればプラットフォーム間の音声付き共同閲覧が可能です。


> **caution**

先に [中国国内向け iOS 公式ガイド](https://open-platform.realsee.com/developer/docs/webview/app/ios/) に従い Realsee iOS コンテナー SDK を導入します。そのガイドはここには複製していません。

**SDK は Tencent RTC（TRTC）で音声を同期します。以下の手順で導入します：**

<span id="adding-the-dependency" class="docs-anchor-alias" aria-hidden="true"></span>

## 依存関係を追加する

**Podfile** に Tencent 音声ライブラリを別途追加します：

```groovy
# Voice (Tencent Cloud TRTC)
pod 'TXLiteAVSDK_TRTC', '8.7.10102'
```

<span id="login-verification" class="docs-anchor-alias" aria-hidden="true"></span>

## ログインを検証する

SDK はユーザーのログイン状態をトークンで検証します。ユーザー情報を返す次のメソッドを実装してください：

```objective-c
// Return the latest user login token
[RSVRSDKConfig shareInstance].accessToken = ^NSString * _Nullable{
  	return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_token"];
};
// Return the latest user ID
[RSVRSDKConfig shareInstance].userId = ^NSString * _Nullable{
  	return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_user_id"];
};
// Return the latest user name
[RSVRSDKConfig shareInstance].userName = ^NSString * _Nullable{
  	return [[NSUserDefaults standardUserDefaults] valueForKey:@"login_user_name"];
};
```

未ログイン・情報無効の場合は RSVRSDKDelegate 経由でアプリのログイン画面へ移動します：

```objective-c
[RSVRSDKConfig shareInstance].configDelegate = self;
```

RSVRSDKDelegate のメソッドを実装します：

```objective-c
#pragma RSVRSDKDelegate

/// Bring up the login screen in this delegate method.
/// @param didUserLoginBlock Call this block proactively after the user logs in successfully.
- (void)actionLogin:(dispatch_block_t)didUserLoginBlock
{
    self.loginBlockAction = didUserLoginBlock;
    LoginViewController* loginVc = [[LoginViewController alloc] init];
    [self.navigationController pushViewController:loginVc animated:YES];
}
....
```

H5 がログイン成功通知を受けるとユーザー情報を再取得し、検証後に共同閲覧を開始します。

