
# FAQ

## 一般

### Sora iOS SDK は有償ですか？

Sora iOS SDK はオープンソースライセンス Apache License 2.0 で配布しています。

### Sora がなくても使えますか？

Sora iOS SDK は Sora 専用です。
Sora 以外の環境では動作しません。

### Objective-C で使えますか？

使えません。
Sora iOS SDK は Swift 専用です。

### ソースコードをダウンロードしたい

`git clone` などでソースコードをダウンロードする場合は、タグを指定するか `master` ブランチを選択してください。
`develop` ブランチは動作の保証ができませんので注意してください。

### Bitcode に対応していますか？

対応しています。

### サンプルコードはありますか？

サンプルコードは  で提供しています。

## 設定

### Sora iOS SDK が対応している音声コーデックを教えてください

Sora iOS SDK は以下の音声コーデックに対応しています。

- Opus

### Sora iOS SDK が対応している映像コーデックを教えてください

Sora iOS SDK は以下の映像コーデックに対応しています。

- VP8
- VP9
- AV1
- H.264
- H.265

### Sora iOS SDK はハードウェアアクセラレーターに対応していますか？

以下の映像コーデックで Video Toolbox を利用したハードウェアアクセラレーターに対応しています。

- H.264
- H.265

### Sora の TURN 機能を無効にして利用できますか？

できません。

Sora iOS SDK は Sora を `turn = false` に設定して利用することはできません。

### 自己署名証明書は利用できますか？

できません。優先実装にて対応可能です。

### AVAudioSession.Category は何を設定していますか？

Sora iOS SDK はマイクの利用有無に関わらず、 `AVAudioSession.Category` を `.playAndRecord` に設定しています。

それ以外のカテゴリを使用したい場合は接続後に変更が可能です。 [AVAudioSession のプロパティを変更する](audio.html#847954) も参考にしてください。

### Sora iOS SDK で受信した音声の音量が小さいです

Sora iOS SDK のデフォルトで使用している AVAudioSession.Category の .playAndRecord はマイク利用が必要となる設定ですが、この場合受信する音量が小さくなります。

これは iOS の仕様です。必要に応じて AVAudioSession.Category を変更してください。

### 音声のステレオ送受信に対応していますか？

音声の送信、受信ともに対応していません。

## 接続


### 接続/切断処理の連続実行でクラッシュが発生する

接続/切断処理が実行される際、処理が完了する前に新しい処理が開始されると、
内部状態の不整合が発生してアプリケーションがクラッシュする可能性があります。
特に、ユーザーが接続/切断ボタンを短時間に連続してタップした場合などに発生しやすい問題です。

この問題を回避するには、以下のような対策を実施してください。

****接続/切断処理の直列化****
: `DispatchQueue` などを使用して接続/切断処理を順次実行し、
:   複数の処理が同時に実行されないようにします。

****UI 操作の制御****
: 接続/切断処理中はボタンのタップを無効化し、
:   ユーザーが連続して操作できないようにします。

具体的な実装例は [sora-ios-sdk-quickstart](https://github.com/shiguredo/sora-ios-sdk-quickstart) 
の `ViewController.swift` をご確認ください。

## サポート

### 有償サポートは受けられますか？

Sora iOS SDK の有償サポートは提供していません。

### 質問やバグ報告はどこで行えますか？

Sora iOS SDK についての質問やバグ報告は Discord の `#sora-sdk-faq` チャンネルにお願いします。



ただし、 Sora のライセンス契約の有無に関わらず、応答時間と問題の解決を保証しませんのでご了承ください。

### Issue の内容はどのように書けばいいですか？

使い方の質問やバグ報告であれば、次の開発環境のバージョンを「メジャーバージョン、マイナーバージョン、メンテナンスバージョン」まで含めて書いてください (Xcode 9.0 など) 。
これらの開発環境はメンテナンスバージョンの違いでも Sora iOS SDK の挙動が変わる可能性があります。

- Sora
- Sora iOS SDK
- Mac OS X
- Xcode
- Swift
- iOS
- CocoaPods

## リリース

### リリースサイクルを教えてください

Sora のメジャーバージョンアップ後に、
Sora へ追従を目的としたバージョンアップを行います。

ただし、具体的なリリースサイクルはありません。
