1

我正在使用OpenTok Framework,当我的应用程序多次进入后台和前台时会导致崩溃。可能是由于记忆丧失,但我已经尝试过仪器并启用了僵尸对象和 malloc 保护,但没有任何帮助。

以下是我的一些崩溃列表Crashlytics

1).
webrtc::StatsReport::Value* std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<webrtc::StatsReport::Value const*, std::vector<webrtc::StatsReport::Value, std::allocator<webrtc::StatsReport::Value> > >, webrtc::StatsReport::Value*>(__gnu_cxx::__normal_iterator<webrtc::StatsReport::Value const*, std::vector<webrtc::StatsReport::Value, std::allocator<webrtc::StatsReport::Value> > >, __gnu_cxx::__normal_iterator<webrtc::StatsReport::Value const*, std::vector<webrtc::StatsReport::Value, std::allocator<webrtc::StatsReport::Value> > >, webrtc::StatsReport::Value*, std::__false_type)

2).
AudioToolbox
AUIOHelper::NotifyInputAvailable(AudioTimeStamp const&, unsigned long, AudioBufferList const&)

我使用openTok库的方式是:

- (void)doConnect
{
    // Create a session to the doctor.
    _mySession = [[OTSession alloc] initWithSessionId:self.doctor.sessionId
                                             delegate:self];

    // Connect the session created to the doctor.
    [_mySession connectWithApiKey:kApiKey token:self.doctor.token];

}

- (void)doPublish
{
    // Create a publisher.
    _publisher = [[OTPublisher alloc] initWithDelegate:self name:UIDevice.currentDevice.name];
    [_publisher.view.toolbarView setHidden:NO];
    [_publisher.view.toolbarView setAlpha:1.0];

    // Publish user's stream to the connected session.
    [_mySession publish:_publisher];

    // Show user's stream in bottom-right corner.
    CGRect frame = CGRectMake(self.view.frame.size.width - mySize.width, self.view.frame.size.height - mySize.height - 50, mySize.width, mySize.height);
    _publisherView = _publisher.view;
    [_publisherView setFrame:CGRectInset(frame, 10, 10)];
    [self.cameraView addSubview:_publisherView];

}

杂注标记 - OTSessionDelegate 方法

- (void)sessionDidConnect:(OTSession*)session
{
    [self doPublish];
}

- (void)session:(OTSession*)mySession didReceiveStream:(OTStream*)stream
{
    if (![stream.connection.connectionId isEqualToString:_mySession.connection.connectionId])
    {
        [self doSubscribeToStream:stream];
    }
}

- (void)doSubscribeToStream:(OTStream *)stream
{
    self.lblDoctorName.text = self.doctor.name;
    if (!_subscriber) {
        _subscriber = [[OTSubscriber alloc] initWithStream:stream delegate:self];
    }
}

任何人都可以在这些崩溃中帮助我吗?

4

1 回答 1

0

OpenTok 上的 iOS SDK 存在一些崩溃问题。几天前有一个大型 iOS SDK 版本解决了崩溃问题并应该解决您的问题:http ://tokbox.com/opentok/libraries/client/ios/

于 2014-06-30T20:37:01.403 回答