【问题标题】:How do I implement WebRTC in Hybrid iOS app?如何在 Hybrid iOS 应用程序中实现 WebRTC?
【发布时间】:2016-09-17 16:23:32
【问题描述】:

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

是否有任何可用的插件,类似于桌面浏览器中可用的插件来实现这一点? 如果它在那里,那么如何将插件与 webivew 集成。 还有其他方法可以实现吗?

提前感谢您的帮助。

【问题讨论】:

标签: ios objective-c swift webrtc voip


【解决方案1】:

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

在 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。

有一个名为Bowser 的网络浏览器已构建在 OpenWebRTC 框架之上。因此,您可以在 Bowser 中打开任何支持 webrtc 的 Web 应用程序,因为不受支持的 API 使用 OpenWebRTC 框架本机支持。

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

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

【讨论】:

  • 还有其他选项可以执行此操作,例如...您可以使用 apprtc 示例项目并根据您的需要更改项目,或者如果您对 cordova 你可以使用cordova-plugin-iosrtc 来实现这一点。
  • 确保 ... url 有 https 而不是 http,因为 chrome 仅在主机受到保护的情况下才支持,否则您可以在 firefox 中尝试它同时支持 http 和 https
  • 好的..你能用apprtc.appspot.com试试吗...请确保它的https不是http
  • 我猜Bowser可能不支持网页中使用的一种javascript方法。
  • 我刚刚也尝试了最新的应用程序。我在项目存储库中提出了一个issue
【解决方案2】:
  1. 目前没有插件或任何方式扩展 iOS webview 以支持 webRTC。您必须等待苹果提供。
  2. 在 iOS 上支持 webRTC 的一种方法是在本机应用程序中使用本机堆栈(如另一个答案中引用的 openWebrtc 或 webrtc.org)。
  3. 在你的情况下,因为你想重用你的网络应用程序,你可以使用一个混合应用程序的框架,比如科尔多瓦,在这种情况下,你有一个科尔多瓦插件,开源和免费的,它为你实现了 webrtc:https://github.com/eface2face/cordova-plugin-iosrtc

【讨论】:

  • 非常欢迎使用带有 Web 视图的本机框架为 webrtc 提供即时帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
相关资源
最近更新 更多