如何在混合iOS应用程序中实现WebRTC?

时间:2016-09-17 16:23:33

标签: ios objective-c swift webrtc voip

我有一个使用WebRTC进行通信的网页。 由于存在Web界面,我不打算开发本机应用程序,因此我决定在Web视图中加载Web页面 但是,iOS WebKit不完全支持WebRTC API,但Android webkit完全支持WebRTC API,因此我可以毫无问题地加载页面。

是否有任何类似桌面浏览器中可用的插件来实现此目的? 如果它在那里然后如何将插件与webivew集成。 还有其他方法可以达到这个目的吗?

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试OpenWebRTC他们已经构建了这个,因为它是Opensource,你也可以将它用于你的项目。

在AppDelegate中我们需要初始化OpenWebRTC:

@implementation SimpleDemoAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [OpenWebRTCViewController initOpenWebRTC];
    return YES;
}

@end

在视图控制器中初始化OpenWebRTC WebView

   self.browserView = [[OpenWebRTCWebView alloc] initWithFrame:self.view.frame];
[self.view addSubview:self.browserView];

加载页面就像

一样简单
    - (void)viewDidLoad
{
    [super viewDidLoad];
    [self loadRequestWithURL:@"http://demo.openwebrtc.io"];
}

他们原生支持所有不受支持的WebRTC API。

以下是link解释如何逐步在iOS项目中实施OpenWebRTC。

在OpenWebRTC框架之上构建了一个名为Bowser的Web浏览器。因此,您可以在Bowser中打开任何支持webrtc的Web应用程序,它将起作用,因为使用OpenWebRTC框架本身支持不受支持的API。

它不仅是免费的应用程序,而且还是OpenSource Project,它已经在Github中托管。您可以查看源代码,了解它们的实现方式。

您可以将其用作开发项目的参考应用

答案 1 :(得分:1)

  1. 没有插件或任何方式可以扩展iOS webview以支持webRTC。您必须等待Apple提供它。
  2. 在iOS上支持webRTC的一种方法是在本机应用程序中使用本机堆栈(如另一个答案中引用的openWebrtc或webrtc.org)。
  3. 在你的情况下,因为你想重用你的网络应用程序,你可以使用混合应用程序的框架,如cordova,在这种情况下你有一个cordova插件,开源和免费为你实现webrtc:{{3 }}