2023.2.x から 2023.3.x への移行

利用不可項目の削除について

概要

@available(*, unavailable) および、 @available(*, deprecated, ... ) の項目について削除を行います。 これらの項目について利用している場合は 2023.3.0 でビルドエラーが発生します。以下のドキュメントを参考に移行への対応をお願いします。

経緯

@available(*, unavailable) について、Swift 5.9 以降 @available(*, unavailable) attribute が廃止となるため削除をします。 このアトリビュートはプロパティが廃止済みであることを伝えるためのものです。

@available(*, deprecated, ... ) については非推奨 (廃止予定) の項目について移行を促すために記載していたものです。 1 年以上経過しているため削除をします。 移行先の項目は廃止項目をご確認ください。

廃止項目

@available(*, unavailable) が指定されている項目

すでに廃止されており、Sora iOS SDK 2023.2.0 時点の SDK で利用した場合はビルドエラーが発生する項目です。 移行が未完了の場合は、以下を参考に移行をお願いします。

  • Configuration の url
    • シグナリング URL の複数指定が可能となったため廃止となりました。
    • urlCandidates で代替してください。
  • Configuration の signalingChannelHandlers
    • 廃止となりました。利用できません。
    • mediaChannelHandlers で代替してください。
  • Configuration の PeerChannelHandlers
    • 廃止となりました。利用できません。
    • mediaChannelHandlers で代替してください。
  • Configuration の signalingChannelType
    • 廃止となりました。利用できません。
  • Configuration の webSocketChannelType
    • 廃止となりました。利用できません。
  • Configuration の peerChannelType
    • 廃止となりました。利用できません。
  • Configuration の allowsURLSessionWebSocketChannel
    • 廃止となりました。利用できません。
  • Configuration の videoCapturerDevice
    • 廃止となりました。利用できません。
    • カメラの設定については Configuration の cameraSettings にて指定できます。
    • カスタムキャプチャーについては MediaStream.send(videoFrame:) を利用して映像フレームを送信してください。
    • カメラの操作 も参考にしてください。
  • MediaChannelHandlers の webSocketChannel
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onMessageHandler
    • onReceive に置き換えられました。
  • WebSocketChannelHandlers の onDisconnectHandler
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onPongHandler
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onSendHandler
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onDisconnect
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onPong
    • 廃止となりました。利用できません。
  • WebSocketChannelHandlers の onSend
    • 廃止となりました。利用できません。
  • WebSocketChannel
    • 廃止となりました。利用できません。
  • VideoCapturerDevice
    • 廃止となりました。利用できません。
  • VideoCapturer
    • 廃止となりました。利用できません。
    • カスタムキャプチャーについては MediaStream.send(videoFrame:) を利用して映像フレームを送信してください。
  • VideoCapturerHandlers
    • 廃止となりました。利用できません。
    • カスタムキャプチャーについては MediaStream.send(videoFrame:) を利用して映像フレームを送信してください。
  • CameraVideoCapturer の shared
    • 廃止となりました。利用できません。
    • 起動中の CameraVideoCapturer は CameraVideoCapturer.current! で取得できます。
  • CameraVideoCapturer の settings
    • 廃止となりました。利用できません。
    • CameraSettings に定義を行うように変更しています。
  • CameraVideoCapturer の captureDevices
    • CameraVideoCapturer の devices を利用して取得をおこなってください。
  • CameraVideoCapturer の captureDevice(for position: AVCaptureDevice.Position)
    • CameraVideoCapturer の device(for position: AVCaptureDevice.Position) を利用して取得をおこなってください。
  • CameraVideoCapturer の suitableFormat(for device: AVCaptureDevice, resolution: Any)
    • 廃止となりました。利用できません。
    • CameraVideoCapturer の format(width: Int32, height: Int32, for device: AVCaptureDevica, frameRate: Int?) で代替してください。
  • CameraVideoCapturer の suitableFrameRate(for format: AVCaptureDevice.Format, frameRate: Int)
    • 廃止となりました。利用できません。
    • CameraVideoCapturer の maxFrameRate(_ frameRate: Int, for format: AVCaptureDevice.Format) で代替してください。
  • CameraVideoCapturer の canStop
    • 廃止となりました。利用できません。
    • Sora との切断時にカメラは自動的に停止されます。
  • CameraVideoCapturer の stopWhenDone
    • 廃止となりました。利用できません。
    • Sora との切断時にカメラは自動的に停止されます。
  • CameraVideoCapturer の stopWhenDone
    • 廃止となりました。利用できません。
    • Sora との切断時にカメラは自動的に停止されます。
  • SignalingMetadata
    • 廃止となりました。利用できません。
    • メタデータは Any? を任意の型にキャストして利用してください。
  • SignalingClientMetadata
    • 廃止となりました。利用できません。
    • SignalingNotifyMetadata で代替してください。
  • SignalingNotifyEventType
    • 廃止となりました。利用できません。
  • SignalingNotifyConnection
    • 廃止となりました。利用できません。
    • この Struct の定義は SignalingNotify に集約されています。
  • SignalingNotifySpotlightChanged
    • 廃止となりました。利用できません。
    • この Struct の定義は SignalingNotify に集約されています。
  • SignalingNotifyNetworkStatus
    • 廃止となりました。利用できません。
    • この Struct の定義は SignalingNotify に集約されています。
  • DeviceInfo の model
    • 廃止となりました。利用できません。

@available(*, deprecated, ... ) が指定されている項目

Sora iOS SDK 2023.2.0 までは警告のみで内部的に移行先に値を設定しておりビルドエラーは発生しませんでした。項目自体を削除したため、以下を参考に移行をお願いします。 移行が未完了の場合は、以下を参考に移行をお願いします。

  • Role の publisher
    • 廃止となりました。利用できません。
    • sendonly で代替してください。
  • Role の subscriber
    • 廃止となりました。利用できません。
    • recvonly で代替してください。
  • Role の group
    • 廃止となりました。利用できません。
    • sendrecv で代替してください。
  • Role の groupSub
    • 廃止となりました。利用できません。
    • recvonly で代替してください。
  • Configuration の init
    • 初期化時にマルチストリームの指定が必須となりました。
    • Configuration(url: url, channelId: soraChannelId, role: .recvonly, multistreamEnabled: false) のように指定してください。
  • Configuration の spotlight
    • spotlightNumber に置き換えられました。
  • Configuration の activeSpeakerLimit
    • spotlightNumber に置き換えられました。
  • SignalingConnect の spotlight
    • spotlightNumber に置き換えられました。
  • SignalingConnect の activeSpeakerLimit
    • spotlightNumber に置き換えられました。
  • SignalingNotify の publisherCount
    • 廃止となりました。利用できません。
    • channelSendonlyConnections と channelSendrecvConnections の合計値で代替してください。
  • SignalingNotify の subscriberCount
    • 廃止となりました。利用できません。
    • channelRecvonlyConnections と channelSendrecvConnections の合計値で代替してください。
  • SoraHandlers の onConnectHandler
    • onConnect に置き換えられました。
  • SoraHandlers の onDisconnectHandler
    • onDisconnect に置き換えられました。
  • SoraHandlers の onAddMediaChannelHandler
    • onAddMediaChannel に置き換えられました。
  • SoraHandlers の onRemoveMediaChannelHandler
    • onRemoveMediaChannel に置き換えられました。
  • MediaChannelHandlers の onConnectHandler
    • onConnect に置き換えられました。
  • MediaChannelHandlers の onDisconnectHandler
    • onDisconnect に置き換えられました。
  • MediaChannelHandlers の onAddStream
    • onRemoveStreamHandler に置き換えられました。
  • MediaChannelHandlers の onDisconnectHandler
    • onRemoveStream に置き換えられました。
  • MediaChannelHandlers の onReceiveSignalingHandler
    • onReceiveSignaling に置き換えられました。
  • MediaStreamHandlers の onSwitchVideoHandler
    • onSwitchVideo に置き換えられました。
  • MediaStreamHandlers の onSwitchAudioHandler
    • onSwitchAudio に置き換えられました。
  • CameraPosition
    • 起動時のカメラ設定は Configuration.cameraSettings.position の .front または .back を設定します。
    • 起動後のカメラの切り替えは CameraVideoCapturer の flip(_:completionHandler:) を使用します。
    • カメラの操作 も参考にしてください。
  • CameraVideoCapturer の currentCameraDevice
    • CameraVideoCapturer の device を利用して取得をおこなってください。