Swift是否支持WebRTC?

12

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

后端采用WebRTC编写,现在我们需要决定在iPhone应用程序中使用哪种语言,我们倾向于在这种情况下使用Swift。

然而,我不确定Swift是否支持WebRTC。

我的初步调查表明,我们可以使用Objective-C实现这些功能。我找到了一个用Objective-C编写的示例,源代码可以在此处找到

然而,我对Swift还不确定。Swift是否也支持WebRTC呢?


7
Swift和Objective-C都不是“支持”WebRTC的语言。在这两种语言中,您可以编写实现WebRTC协议的代码。您已经找到了一些Objective C代码来实现此功能。您可以从Swift代码中链接到该代码。 - Paulw11
1
支持 "hear" 意味着可以编写代码来处理它。 - Khanh Tran
Swift是一种编程语言,WebRTC是通信协议。因此不能说“语言支持协议”。更好的问题是:是否有用Swift实现的WebRTC框架? - Quang Hà
4个回答

9

2023年更新 很不幸,截至2023年,似乎还没有完全实现WebRTC协议的Swift框架。虽然托管在webrtc.org上的iOS框架可以相对容易地用于Swift应用程序,但它主要是用Objective C编写的。

对于那些遇到这个问题的人,他们只想在自己的应用程序中运行webRTC,使用cocoapod仍然相对容易。

2016年更新

最简单的方法是按照https://cocoapods.org/pods/WebRTC上的说明安装CocoaPods来在您的项目中获取webRTC。

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

原始答案

简单回答这个问题是,目前没有用Swift编写符合WebRTC协议的开源库。您仍然可以将官方WebRTC项目中的代码编译到您的应用程序中。这里可以找到可能无法成功构建的指示: https://webrtc.org/native-code/ios/ 最后,为了澄清Omkar Guhilot的答案:Skylink是一家拥有闭源SDK的公司,该SDK仅设计用于与他们的付费stun-turn服务配合使用,而https://github.com/alongubkin/phonertc需要cordova,这对许多本地iOS开发人员可能不理想。

3

Webrtc带有Objective C接口。我认为他们不会很快转向Swift接口。但是,您始终可以通过桥接头文件使用它们。我已经使用此Github链接中的桥接头文件,在Swift 2.3版本中编写了apprtc(webrtc的演示),并在这篇博客文章中进行了描述。我计划编写3.0版本和Swift包装器。


请问您能否用Swift编写SimpleWebRTC并开源,我们可以为此做出贡献。appRTC没有任何用处,因为它是Google的,他们只会索取而不会给予。 - user285594

1

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

可以通过按照此链接上的说明生成框架: https://webrtc.github.io/webrtc-org/native-code/ios/

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

要了解所有必要的步骤,请按照appear.in上的此链接: https://tech.appear.in/2015/05/25/Getting-started-with-WebRTC-on-iOS/

这将使您能够在浏览器和任何iOS 8+设备之间进行通话。


-1

是的,Swift支持WebRTC,并且还有一个库可以在Swift中使用,链接为:http://skylink.io/ios/

而你分享的链接是用Objective C编写的,我们也可以通过创建桥接头文件在Swift中使用它

也可以看看这个链接 https://github.com/alongubkin/phonertc

谢谢

Omkar


18
请停止提及 Temasys,他们非常商业化,与其做出贡献,不如将业务推向前。只引用那些有贡献而非为了金钱的免费工具作为参考。 - user285594

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接