未知的Exc_Bad_ACCESS(代码= 1)

时间:2014-05-09 16:27:42

标签: malloc exc-bad-access opentok crashlytics nszombieenabled

我正在使用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];

}

pragma mark - 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];
    }
}

任何人都可以帮助我解决这些崩溃事件吗?

1 个答案:

答案 0 :(得分:0)

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