【问题标题】:Xamarin Form iOS WebRTCXamarin 窗体 iOS WebRTC
【发布时间】:2019-02-28 13:38:07
【问题描述】:

我是论坛的新手,我非常感谢你们所有人用来解决问题的热情。

所以我在这里是因为我正在努力将 GoogleWebRTC 集成到我的 iOS 部分的 Xamarin Form 项目中(我已经能够制作一个原生 objC 测试应用程序),我尝试通过 CocoaPods 集成它使用 Sharpie Pod 并绑定它,但我无法解决在 ApiDefinitions.cs 上的绑定中创建的所有错误。

一段时间后,我发现这个项目https://github.com/valentingrigorean/apprtc-ios-xamarin 已经成功绑定库并修复了一些错误 (编辑 WebRTCBinding.csproj 并删除 -lstdc++.6 链接器并删除代码中的一些错误) 但是当我尝试将该绑定库添加到我的项目中并尝试运行时返回我:

Objective-C exception thrown.  Name: NSInvalidArgumentException Reason: +[RTCPeerConnectionFactory initializeSSL]: unrecognized selector.

我做错了什么?

提前致谢。

【问题讨论】:

  • 用有限的信息很难知道真正的原因。尝试这些解决方案,看看它们是否有帮助:binding-objective-c-libraryios-binding。您也可以参考这个示例:Xamarin.WebRTC
  • 嗨@JackHua-MSFT 感谢您的回复!我尝试了您建议的解决方案,但我无法让它继续工作(我尝试添加 -ObjC )但没有任何改变。你发给我的项目是指 FrozenMountain IceLink 库,但我需要直接用谷歌实现它。我必须分享哪些信息才能更清楚地解决问题?

标签: ios xamarin xamarin.forms webrtc objective-sharpie


【解决方案1】:

我也在寻找解决方案,并花了很多时间让它运行起来。
我做了什么以及对您提到的项目有什么帮助
- 将项目 WebRTC 和 AppRTC 添加到您的项目中
- 从您的项目链接到这两个项目
- 删除 lstdc++.6,就像你已经做的那样
- 将委托 IARDAppClientDelegate、IRTCEAGLVideoViewDelegate 添加到您要使用它的类中。您可以添加“RTCPeerConnectionFactory.InitializeSSL();”作为测试到例如 ViewDidLoad 并为模拟器和设备编译它。

它是否有效还是您仍然会出错?

【讨论】:

  • 您好,感谢您的建议。我已经让它在一个测试项目中工作,但我必须在使用的框架中插入 AVFoundation。但是我在主项目中的集成还有另一个问题。如果我还为 webRTC 使用另一个库 ( Skylink ),他会返回相同的错误。我认为这是框架冲突。你也遇到过这样的问题吗? (Skylink 通过 Sharpie pod 集成)
  • 为了尊重时间线,我们决定整合 2 个不同的 webrtc 库
猜你喜欢
  • 2021-12-28
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-25
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多