В сборке iOS SDK 2.6.48 добавлена возможность проверить, доступен ли поток с указанным именем на сервере для воспроизведения, аналогично функции Stream.available() в WebSDK.
Для этого необходимо:
1. Создать отдельный экземпляр объекта Stream с указанием имени потока, доступность которого должна быть проверена
Objective C code
FPWCSApi2Session *session = [FPWCSApi2 getSessions][0]; FPWCSApi2StreamOptions *options = [[FPWCSApi2StreamOptions alloc] init]; options.name = _remoteStreamName.text; options.display = _remoteDisplay; FPWCSApi2Stream *stream = [session createStream:options error:nil];
Swift code
let options = FPWCSApi2StreamOptions() options.name = playName.text; options.display = remoteDisplay.videoView; do { playStream = try session!.createStream(options) ... } catch { print(error) }
2. Вызвать метод available() с callback-функцией, которая получает статус доступности потока и информацию о причинах недоступности
Objective C code
[stream available:^(BOOL available, NSString *info) { [self changeViewState:button enabled:YES]; if (available) { _remoteStreamStatus.text = @"AVAILABLE"; _remoteStreamStatus.textColor = [UIColor greenColor]; } else { _remoteStreamStatus.text = info; _remoteStreamStatus.textColor = [UIColor redColor]; } }];
Swift code
... do { playStream = try session!.createStream(options) playStream?.available({ (available, info) in self.changeViewState(self.availableButton, true) if (available) { self.playStatus.text = "AVAILABLE" self.playStatus.textColor = .green } else { self.playStatus.text = info self.playStatus.textColor = .red } }) } catch { print(error) }