Does Swift support WebRTC?



我们的团队正在选择编程语言来开发一个新的iOS应用程序,我们必须在其中编写支持视频对话的功能。

后端是使用WebRTC编写的,现在我们必须决定在iPhone应用程序中使用哪种语言,在这种情况下我们更喜欢Swift。

但是我不确定Swift是否支持WebRTC。

我的初步研究表明,我们可以使用Objective-C实现这些功能。我找到了一个用Objective-C写的例子,你可以在这里找到源代码。

然而,我不确定斯威夫特。Swift也支持WebRTC吗?

UPDATE 2023不幸的是,截至2023年,仍然似乎没有实现WebRTC协议的完整Swift框架。尽管托管在webrtc.org上的iOS框架可以相当容易地用于Swift应用程序,但它主要是用objective c编写的。

对于那些在这个问题上绊倒的人,谁只是想让webRTC在你的应用程序中运行,使用cocoapod

仍然相对容易更新2016

在你的项目中获得webRTC最简单的方法是使用https://cocoapods.org/pods/WebRTC

的说明安装CocoaPod。

如果您以前从未使用过CocoaPods,您需要首先遵循以下指南:https://guides.cocoapods.org/using/getting-started.html

原始回答

这个问题的简单答案是,目前没有符合WebRTC协议的Swift开源库。你仍然可以从官方的WebRTC项目中编译代码到你的应用程序中。可能无法成功构建的指导可以在这里找到:https://webrtc.org/native-code/ios/

最后,澄清一下Omkar Guhilot的回答:Skylink是一家拥有闭源SDK的公司,该SDK仅用于他们的付费转魂服务,并且https://github.com/alongubkin/phonertc需要cordova,这对于许多原生ios开发者来说可能不是理想的。

webbrtc自带Objective C接口。我认为他们不会很快转向swift接口。但是你总是可以通过桥接头使用它们。我已经在swift 2.3版本中编写了apprtc (webrtc的演示),并在github链接中使用本博客中的描述桥接头。我计划编写3.0版本,并在其上快速包装。

当前版本的webrtc框架不需要任何pod或任何额外的桥接头。

框架可以通过以下链接生成:https://webrtc.github.io/webrtc-org/native-code/ios/

如果你正确地遵循它们,你将生成一个框架,将该框架添加到你的项目中,并遵循webrtc必要的步骤,你将拥有一个webrtc集成项目。

要知道所有的步骤都是必要的,请点击appearance .in中的链接:https://tech.appear.in/2015/05/25/Getting-started-with-WebRTC-on-iOS/

这将使你能够在浏览器和任何iOS 8+设备之间进行呼叫

是swift支持WebRTC,还有一个库可以在swift中使用链接:- http://skylink.io/ios/

你分享的链接是用Objective C写的,我们应该也能在swift中使用它通过创建一个桥接头

也看看这个https://github.com/alongubkin/phonertc

感谢

Omkar

最新更新