Vidyo应用程序在Swift上崩溃

时间:2018-02-28 17:32:28

标签: ios swift video-conferencing vidyo

我使用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行。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

教程错了。 传递logFileFilter:logFileName:作为常规的Swift Strings。

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

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

来源:passing String to const char* parameter

  

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

答案 1 :(得分:0)

在创建连接器之前,请确保要初始化程序包:

// Initialize package
VCConnectorPkg.vcInitialize()

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

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