【问题标题】:Vidyo app crash on SwiftVidyo 应用程序在 Swift 上崩溃
【发布时间】:2018-02-28 17:32:28
【问题描述】:

我使用 Swift 创建了一个 Vidyo iOS 应用程序,并附有 this tutorial。

但我在以下情况下遇到应用程序崩溃:

connector = VCConnector(UnsafeMutableRawPointer(&vidyoView),
                                viewStyle: .default,
                                remoteParticipants: 4,
                                logFileFilter: UnsafePointer("warning"),
                                logFileName: UnsafePointer(""),
                                userData: 0)

以下是调试器日志:

错误:LmiFile:[系统线程]:/tmp/SDK.Release.TRINITY_4_1_20_3.build.tO3KysfAv5/source/SDK/Lmi/Os/LmiFile.c:132:LmiFileOpen_:打开文件v\217\206时出错:不允许操作

断言失败:(newVal >= 0),函数 LmiSharedPtrRefCountDecUseCount,文件 /tmp/SDK.Release.TRINITY_4_1_20_3.build.tO3KysfAv5/source/SDK/Lmi/VidyoClient/../../../SDK/Lmi /Os/LmiSharedPtrInline.h,第 51 行。

谁能帮忙?

【问题讨论】:

  • 我已经添加了钥匙串功能。仍然在第二次运行时崩溃。第一次如果我运行它会成功运行第二次它会崩溃。一段时间后,如果我再试一次,它会成功运行一次。我不确定到底发生了什么
  • @SaleelKarkhanis 你有什么解决办法吗?我遇到了同样的问题。即使我遵循了相同的步骤,我的应用程序也会一次又一次地崩溃。是什么原因? Vidyo.io 缺少问题文档
  • 对于运行时崩溃,我采用了这种方式,看起来已经解决。 stackoverflow.com/a/65793331/6135652

标签: ios swift video-conferencing vidyo


【解决方案1】:

教程错了。 将 logFileFilter: 和 logFileName: 作为常规 Swift 字符串传入。

connector = VCConnector(UnsafeMutableRawPointer(&vidyoView),
                                viewStyle: .default,
                                remoteParticipants: 4,
                                logFileFilter: "warning",
                                logFileName: "",
                                userData: 0)

logFileFilter: 和logFileName: 的参数类型为const char*。您可以将 String 传递给此类型的参数,它将为您转换。

来源:passing String to const char* parameter

您应该能够将字符串直接传递给需要 const char * 的 C 函数,它会自动转换为以 null 结尾的 UTF-8 字符串

【讨论】:

    【解决方案2】:

    确保在创建连接器之前初始化包:

    // Initialize package
    VCConnectorPkg.vcInitialize()
    
    // Create connector
    connector = VCConnector(UnsafeMutableRawPointer(&vidyoView),
                                    viewStyle: .default,
                                    remoteParticipants: 4,
                                    logFileFilter: "warning",
                                    logFileName: "",
                                    userData: 0)
    

    这为我解决了这个问题。祝你好运!

    【讨论】:

    • 对 vidyo.io 的引用我在 swift IOS 中创建了测试项目,按照提到的所有程序进行操作,但我的应用程序不断崩溃。此文件上的错误是 Thread 1: EXC_BAD_ACCESS。 #1 0x0000000103aec9dc in LmiWindowCreateChild_ at /tmp/SDK.Release.TRINITY_20_1_0_9.build.7uOSFpBWGF/source/SDK/Lmi/Ui/LmiWindowIPhone.m:394 甚至清理并再次构建但没有成功。请指导我。
    • @Tekhe 您好,您找到解决问题的方法了吗?即使是新创建的 Swift 项目,我也在经历同样的事情。
    • 对于运行时崩溃,我已经应用了这种方式,它看起来已经解决了。 stackoverflow.com/a/65793331/6135652
    • @iamburak Teşekkürler Aslında Vidyo güvenilir değil ve fazla dokümantasyona sahip değil.
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多