如何在iOS中解决EAGLContext崩溃问题?

时间:2016-02-16 14:56:33

标签: ios objective-c opentok tokbox

我正在使用OpenTok(TokBox)使用此演示开发实时视频通话应用程序:https://github.com/opentok/opentok-ios-sdk-samples/tree/develop/5.Multi-Party-Call

我的问题是当我从实时通话屏幕导航到主视图(根视图控制器)时,我的应用程序崩溃了。

请参阅以下屏幕截图以了解崩溃日志

enter image description here

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

确保正确释放OT对象(OTSession.OTPublisher和OTSubscriber)。视图控制器外部的某些东西可能仍然保留在此对象上,当视图控制器移出时,OT对象可能仍然处于活动状态并且正在尝试访问已释放或不存在的资源。

作为旁注,释放OT对象的正确方法如下(假设双向呼叫,可以针对多方进行推广):

    [_publisher.view removeFromSuperview];
_publisher.delegate = nil;
_publisher = nil;

[_subscriber.view removeFromSuperview];
_subscriber.delegate = nil;
_subscriber = nil;

[_session disconnect:nil];

和sessionDidDisconnect回调你可以做

_session = nil; // in your case you would not wait for this as iOS takes care of it.