ios7扫描二维码重复回调的问题

来源:互联网 发布:art算法原理 编辑:程序博客网 时间:2024/06/10 04:39

ios7自带的扫描二维码,会吃重复回调,以前是这样写的关闭:

 (void)stopQRCodeScan

{

    if(timer){

        [timer invalidate];

        timer = nil;

    }

    // 1. 如果扫描完成,停止会话

    if (_session) {

        [_session stopRunning];

        _session = nil;

    }

       // 2. 删除预览图层

    [_previewremoveFromSuperlayer];

    _preview = nil;

     _output = nil;

    [_outputsetMetadataObjectsDelegate:nilqueue:dispatch_get_main_queue()];

}

 结果发现并不能真正的关闭,看了官方文档,后增加一句代码:

- (void)stopQRCodeScan

{

    if(timer){

        [timer invalidate];

        timer = nil;

    }

    // 1. 如果扫描完成,停止会话

    if (_session) {

        [_session removeOutput:_output];

        [_session stopRunning];

        _session = nil;

    }

    

    

    // 2. 删除预览图层

    [_previewremoveFromSuperlayer];

    _preview = nil;

     _output = nil;

    [_outputsetMetadataObjectsDelegate:nilqueue:dispatch_get_main_queue()];

}

问题就解决了,不会重复回调,重复push了 

0 0
原创粉丝点击