diff --git a/CHANGES.md b/CHANGES.md index e982820..b95115e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,11 +11,21 @@ ## develop +## sora-ios-sdk-2022.5.0 + +- [UPDATE] システム条件を変更する + - WebRTC SFU Sora 2022.1.1 以降 + - Xcode 13.4.1 + - @miosakuma +- [FIX] DecoStreamingSample の iOS 14 初期に発生していたクラッシュ不具合の暫定処理を削除 + - iOS 14.6 で問題が解消されていたため当初の処理に戻す + - @szktty + ## sora-ios-sdk-2022.4.0 - [UPDATE] システム条件を変更する - macOS 12.3 以降 - - WebRTC SFU Sora 2022.1 以降 + - WebRTC SFU Sora 2022.1.0 以降 - @miosakuma - [ADD] VideoChatSample, SimulcastSample, SpotlightSample で bundle_id を設定する - @enm10k diff --git a/DataChannelSample/Podfile b/DataChannelSample/Podfile index 3cbc594..b1bfa47 100644 --- a/DataChannelSample/Podfile +++ b/DataChannelSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'DataChannelSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' end diff --git a/DataChannelSample/README.md b/DataChannelSample/README.md index 8d1caca..bd2d3fc 100644 --- a/DataChannelSample/README.md +++ b/DataChannelSample/README.md @@ -10,7 +10,7 @@ - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでの動作を保証しません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降 diff --git a/DecoStreamingSample/DecoStreamingSample/Classes/PublisherVideoViewController.swift b/DecoStreamingSample/DecoStreamingSample/Classes/PublisherVideoViewController.swift index 3d1083d..a918bd8 100644 --- a/DecoStreamingSample/DecoStreamingSample/Classes/PublisherVideoViewController.swift +++ b/DecoStreamingSample/DecoStreamingSample/Classes/PublisherVideoViewController.swift @@ -109,19 +109,12 @@ class PublisherVideoViewController: UIViewController, UIPickerViewDelegate, UIPi // captureSessionをセットアップしたのち、映像キャプチャを開始します。 // これはcaptureSessionQueue内で実行されるため、captureSessionQueueが停止されている間は処理が先に進みません。 // これによって、ユーザーから許可を得るまでの間、処理を効果的に一時停止することができます。 - // 注: iOS14 で以下のコードを実行するとクラッシュしてしまうため、一時的にキューの使用を止めています。 - /* - captureSessionQueue.async { [weak self] in - if let finished = self?.configurationFinished, !finished { - self?.configureCaptureSession() - } - self?.captureSession.startRunning() - } - */ - if !configurationFinished { - configureCaptureSession() + captureSessionQueue.async { [weak self] in + if let finished = self?.configurationFinished, !finished { + self?.configureCaptureSession() + } + self?.captureSession.startRunning() } - captureSession.startRunning() // 配信画面に遷移してきたら、videoViewをvideoRendererに設定することで、配信者側の動画を画面に表示させます。 SoraSDKManager.shared.currentMediaChannel?.senderStream?.videoRenderer = videoView @@ -131,13 +124,9 @@ class PublisherVideoViewController: UIViewController, UIPickerViewDelegate, UIPi super.viewWillDisappear(animated) // captureSessionを停止します。 - // 注: iOS14 で以下のコードを実行するとクラッシュしてしまうため、一時的にキューの使用を止めています。 - /* - captureSessionQueue.async { [weak self] in - self?.captureSession.stopRunning() - } - */ - captureSession.stopRunning() + captureSessionQueue.async { [weak self] in + self?.captureSession.stopRunning() + } // 配信画面を何らかの理由で抜けることになったら、videoRendererをnilに戻すことで、videoViewへの動画表示をストップさせます。 SoraSDKManager.shared.currentMediaChannel?.senderStream?.videoRenderer = nil @@ -158,30 +147,18 @@ class PublisherVideoViewController: UIViewController, UIPickerViewDelegate, UIPi switch captureDevicePosition { case .front: captureDevicePosition = .back - // 注: iOS14 で以下のコードを実行するとクラッシュしてしまうため、一時的にキューの使用を止めています。 - /* - captureSessionQueue.async { [weak self] in - self?.captureSession.stopRunning() - self?.configureCaptureSession() - self?.captureSession.startRunning() - } - */ - captureSession.stopRunning() - configureCaptureSession() - captureSession.startRunning() + captureSessionQueue.async { [weak self] in + self?.captureSession.stopRunning() + self?.configureCaptureSession() + self?.captureSession.startRunning() + } case .back: captureDevicePosition = .front - // 注: iOS14 で以下のコードを実行するとクラッシュしてしまうため、一時的にキューの使用を止めています。 - /* - captureSessionQueue.async { [weak self] in - self?.captureSession.stopRunning() - self?.configureCaptureSession() - self?.captureSession.startRunning() - } - */ - captureSession.stopRunning() - configureCaptureSession() - captureSession.startRunning() + captureSessionQueue.async { [weak self] in + self?.captureSession.stopRunning() + self?.configureCaptureSession() + self?.captureSession.startRunning() + } default: break } diff --git a/DecoStreamingSample/Podfile b/DecoStreamingSample/Podfile index bc7f45e..ecf1371 100644 --- a/DecoStreamingSample/Podfile +++ b/DecoStreamingSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'DecoStreamingSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/DecoStreamingSample/README.md b/DecoStreamingSample/README.md index 919b369..9287464 100644 --- a/DecoStreamingSample/README.md +++ b/DecoStreamingSample/README.md @@ -10,7 +10,7 @@ Sora iOS SDK を用いて実装する方法を説明しています。 - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでは動作が保証されません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降 diff --git a/README.md b/README.md index c6f4791..471eb65 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,10 @@ Please read https://github.com/shiguredo/oss before use. - iOS 13.0 以降 - アーキテクチャ arm64, x86_64 (シミュレーターの動作は未保証) - macOS 12.3 以降 -- Xcode 13.4 +- Xcode 13.4.1 - Swift 5.6.1 - CocoaPods 1.11.2 以降 -- WebRTC SFU Sora 2022.1 以降 +- WebRTC SFU Sora 2022.1.1 以降 Xcode と Swift のバージョンによっては、 CocoaPods で取得できるバイナリに互換性がない可能性があります。 diff --git a/ScreenCastSample/Podfile b/ScreenCastSample/Podfile index 3879549..c3d6171 100644 --- a/ScreenCastSample/Podfile +++ b/ScreenCastSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'ScreenCastSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/ScreenCastSample/README.md b/ScreenCastSample/README.md index d8da1c7..28c6b3c 100644 --- a/ScreenCastSample/README.md +++ b/ScreenCastSample/README.md @@ -9,7 +9,7 @@ - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでは動作が保証されません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降 diff --git a/SimulcastSample/Podfile b/SimulcastSample/Podfile index 14ca931..288ed6c 100644 --- a/SimulcastSample/Podfile +++ b/SimulcastSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'SimulcastSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/SimulcastSample/README.md b/SimulcastSample/README.md index c441273..cc11412 100644 --- a/SimulcastSample/README.md +++ b/SimulcastSample/README.md @@ -8,7 +8,7 @@ - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでは動作が保証されません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降 diff --git a/SpotlightSample/Podfile b/SpotlightSample/Podfile index 9a23b85..99e0c82 100644 --- a/SpotlightSample/Podfile +++ b/SpotlightSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'SpotlightSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/SpotlightSample/README.md b/SpotlightSample/README.md index a2a5d3a..2afdb13 100644 --- a/SpotlightSample/README.md +++ b/SpotlightSample/README.md @@ -8,7 +8,7 @@ - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでは動作が保証されません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降 diff --git a/VideoChatSample/Podfile b/VideoChatSample/Podfile index d05d8b1..aed84bd 100644 --- a/VideoChatSample/Podfile +++ b/VideoChatSample/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'VideoChatSample' do use_frameworks! - pod 'Sora', '2022.4.0' + pod 'Sora', '2022.5.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/VideoChatSample/README.md b/VideoChatSample/README.md index 72cdba2..43729de 100644 --- a/VideoChatSample/README.md +++ b/VideoChatSample/README.md @@ -9,7 +9,7 @@ - iOS 13.0 以降がインストールされたデバイス (iPhone / iPad どちらにも対応しています) - このサンプルアプリはシミュレータでは動作が保証されません。 -- Xcode 13.4 以降 +- Xcode 13.4.1 以降 - 本サンプルアプリでは Swift 5.6.1 を使用しています。 - CocoaPods 1.11.2 以降